using namespace std;
class gsjl{
int m;
public :
gsjl(int a):m(a){cout<<"公司经理工资:"<<m;}
};
class jzry:public gsjl{
int m;
public:
jzry(int a):m(a){cout<<"兼职人员工资:"<<m;}
};
void main()
{
}
请问:为什么会报错(error C2512: 'gsjl' : no appropriate default constructor available),该怎么写,麻烦好心人指点一下!谢谢!
5 个解决方案
#1
为类gsjl写一个默认构造函数。
#2
因为你的子类调用了父类的默认构造函数,而你的父类并没有实现默认构造函数。所以自己实现一个即可。
#3
jzry(int a):gsjl(a),m(a)
#4
你这个继承体系有问题~ 难道兼职人员也是经理?
比较好的做法是定义一个雇员类, 然后分别派生出经理和兼职人员
比较好的做法是定义一个雇员类, 然后分别派生出经理和兼职人员
#5
加一个构造函数就Ok了,gsjl(){}
#1
为类gsjl写一个默认构造函数。
#2
因为你的子类调用了父类的默认构造函数,而你的父类并没有实现默认构造函数。所以自己实现一个即可。
#3
jzry(int a):gsjl(a),m(a)
#4
你这个继承体系有问题~ 难道兼职人员也是经理?
比较好的做法是定义一个雇员类, 然后分别派生出经理和兼职人员
比较好的做法是定义一个雇员类, 然后分别派生出经理和兼职人员
#5
加一个构造函数就Ok了,gsjl(){}