C++多继承的问题
发布网友
发布时间:2022-07-28 08:00
我来回答
共1个回答
热心网友
时间:2023-11-05 02:56
虚拟继承中的最终派生类应当直接在构造函数初始化列表中显式构造虚基类,通过各个中间基类的构造被忽略,不然就会调用直接调用虚基类的默认构造函数
但是你的虚基类Person4的无参(缺省)构造函数并没有初始化name,但是析构函数一律delete,这样就出问题了,下面这样改Chairman类的构造函数就可以了,顺便说一句,释放动态数组用delete []
class Chairman:public Leader, public Engineer
{
private:
public:
Chairman(char* name,short age,char* post,char* department,char* specialty):
Leader(name,age,post,department),Engineer(name,age,department,specialty),Person4(name,age)
{
}