组成问题
BasePlusCommissionEmployee(const string &,const string &,const string &,
double = 0.0,double = 0.0,double = 0.0);
这个是类BasePlusCommissionEmployee构造函数的声明
private:
CommmissionEmployee employee;//类中private包含CommmissionEmployee 类的对象
//构造函数实现
BasePlusCommissionEmployee::BasePlusCommissionEmployee(const string &first,const string &last,const string &ssn,
double sales,double rate,double salary)
:employee(first,last,ssn,sales,rate)
{
setBaseSalary(salary);
}
//类CommmissionEmployee构造函数的实现
CommmissionEmployee::CommmissionEmployee(const string &first,const string &last,const string &ssn,double sales,double rate)
{
firstName = first;
lastName = last;
socialSecurityNumber = ssn;
setGrossSales(sales);
setCommissionRate(rate);
}
但是在我创建BasePlusCommissionEmployee类对象的时候就出错了
BasePlusCommissionEmployee a("asd","a","d",2,2,2); //在 "asd"处有红线
错误为
BasePlusCommissionEmployee(const string &,const string &,const string &,
double = 0.0,double = 0.0,double = 0.0)is inaccessible;这个声明有问题
为什么??
[解决办法]
在类中声明处之前加public:,即:
public:BasePlusCommissionEmployee::BasePlusCommissionEmployee(const string &first,const string &last,const string &ssn,double sales,double rate,double salary);