const-类构造函数的参数转换错误

问题描述

类构造函数的参数转换错误

:Employee(const int,const std::string &,const std::string &,int,int,int)' : cannot convert parameter 1 from 'const std::string' to 'const int'
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

解决方案

需要int,你传了string,你的构造函数调用不正确。

解决方案二:

错误很明显啊。你第一个参数是int。你却传了string类型。

解决方案三:

CommissionEmployee::CommissionEmployee(const string &first,const string &last,
const string &ssn,int month,int day,int year,double sales,double rate)
:Employee(first,last,ssn,month,day,year)在这报错

解决方案四:

Employee::Employee( const string &first, const string &last,
const string &ssn, int month, int day, int year )
: firstName( first ), lastName( last ), socialSecurityNumber( ssn ),
birthDate( month, day, year )
{

}
void Employee::setFirstName( const string &first )
{
firstName = first;

}
string Employee::getFirstName() const
{
return firstName;

}
#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include
#include "Date.h"
using namespace std;
class Employee
{
public:
Employee(const string&,const string &,const string &,
int, int, int);
void setFirstName(const string &);
string getFristName() const;
void setLastName(const string &);
string getLastName() const;
void setSocialSecurityNumber(const string &);
string getSocialSecurityNumber() const;
void setBirthDate(int,int,int);
Date getBirthDate() const;
virtual double earnings () const=0;
virtual void print () const;
private:
string firstName;
string lastName;
string socialSecurityNumber;
Date birthDate;
};
#endif
麻烦看一下

时间: 2025-01-18 19:28:17

const-类构造函数的参数转换错误的相关文章

模板类构造函数与析构函数无法访问私有成员(明明就是公有的)

问题描述 模板类构造函数与析构函数无法访问私有成员(明明就是公有的) 模板类构造函数与析构函数无法访问私有成员(明明就是公有的) 写成这样: #ifndef __SINGLETON__H__ #define __SINGLETON__H__ template <typename T> class Worker; template <typename T> class Singleton { friend class Worker<T>; public: static T

c++类构造函数详解

  这篇文章主要介绍了c++类构造函数示例,需要的朋友可以参考下        代码如下: //一. 构造函数是干什么的 /* 类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数->由构造函数完成成员的初始化工作 eg: Counter c1; 编译系统为对象c1的每个数据成员(m_value)分配内存空间,并调用构造函数Counter( )自动地初始化对象,初始化之后c1的m_value值设置为0 故:构造函数的作用:初始化对象的数据成员.*/ class Counter { pu

ile ialog派生类-在VS中类向导创建一个CFileDialog的派生类CFileDialogEx编译直接错误

问题描述 在VS中类向导创建一个CFileDialog的派生类CFileDialogEx编译直接错误 提示:错误 1 error C2512: "CFileDialog": 没有合适的默认构造函数可用 我就建立个子类啥也没做就...是不是识别不了CFileDialog中的构造函数? 解决方案 CFileDialog需要参数 CFileDlg::CFileDlg(BOOL bOpenFileDialog, ...) : CFileDialog(bOpenFileDialog, ...)

解决PHP4.0 和 PHP5.0类构造函数的兼容问题

以下是对解决PHP4.0和PHP5.0类构造函数兼容问题的方法进行了详细的分析介绍,需要的朋友可以过来参考一下   在 PHP5.0 以上版本里,还兼容了 4.0 版本的构造函数的定义规则.如果同时定义了4.0的构造函数和 __construct()函数,则__construct() 函数优先. 为了使类代码同时兼容 PHP4.0 和 5.0,可以采取以下的方式: 复制代码 代码如下: <?php class MyClass {  function __construct() { //for P

uml-UML图中怎么表达C++中派生类构造函数?

问题描述 UML图中怎么表达C++中派生类构造函数? 主要是构造函数中对基类成员初始化问题: 例如下面这句,请问怎么在UML中写出来? Teacher(string name,int age,string department,string teacherNumber):Person(name,age) 我写的是: +Teacher(name : string ,age : int ,department : string ,teacherNumber : string ):Person(nam

默认构造函数-类构造函数的问题(继承)

问题描述 类构造函数的问题(继承) #include <iostream> using namespace std; class People { protected: char name[20],xb[10],id[21]; int num,all,week; public:People() { } public:People(char na[20],int nu,char x[10],char idc[21],int al,int wk) { strcpy_s(name,na); num=

java-eclipse中,定义类Employee时,错误提示是“已定义类型Employee”,该如何进行解决?

问题描述 eclipse中,定义类Employee时,错误提示是"已定义类型Employee",该如何进行解决? public class ParamTest { public static void main(String[] args) { System.out.println("tripleValue testing"); double percent=10; System.out.println("Before:percent="+per

c++-C++类构造函数初始化列表

问题描述 C++类构造函数初始化列表 #include using namespace std; class A { private: int n1; int n2; public: A() { n2=0; n1=n2+2; }//输出结果为:n1:2, n2: 0 A():n2(0),n1(n2+2){}//输出结果为n1:-858993458, n2: 0 //上面这两种方式有啥区别,求指导,为啥结果不一样 void Print(){ cout << "n1:" <

基类构造函数和初始化器的执行顺序

标题比较抽象,所以我写了一个Demo来说明问题: public class A { public A() { Console.WriteLine("A的构造函数被调用"); } } public class B : A { private X x = new X(); //初始化器 } public class X { public X() { Console.WriteLine("X的构造函数调用"); } } static void Main(string[]