这种解决方法不少,
1:采用初始化式构造PEmployee(string employee_name, double initial_salary):person_date(employee_name,10){};
你没给AGE值,最好能多传进来一个参数。
2:给 Person类添加两个公有的方法,setname(),setage();
调用构造函数是可以实现的
PEmployee(string employee_name, double initial_salary)
{
Person::Person(employee_name,0);//age可以设个默认值;
Person::Person(employee_name);//在preson中再加一个person(string pname)的构造函数。
};
还有方法是让 PEmployee继承Person就是了。PEmployee中只是比Person中多了一个数据成员。
you are rignt!,就在PEmployee类中的构造函数中调用Person的构造函数数!子对象的初始化要调用他的构造函数!
定义一个Person 对象p1 PEmployee类的构造函数些微
PEmployee(const Person& p1,double initial_salary):person_date(p1)
{
salary=initial_salary;
}
这样就行了,你传递的string employee_name不能完全把Person类子对象的数据成员string name; int age 完全初始化啊!