在创建一个对象实例,先调用父类的构造函数,再调用派生类
在销毁一个对象实例时,先销毁派生类,在销毁父类的析构函数
A继承B
class A
{
private:
char name[10];
public:
A ()
{
cout<<"A构造函数\n";
}
~A()
{
cout<<"A析构函数\n";
}
};
class B:public A
{
public:
B()
{
cout<<"B构造函数\n";
}
~B()
{
cout<<"B析构函数\n";
}
};
int main()
{
B* abc=new B[3];
cout<<"销毁对象B\n\n\n";
delete []abc;
getchar();
return 0;
}
C继承B和A
class B
{
private:
char name[10];
public:
B ()
{
cout<<"B构造函数\n";
}
~B()
{
cout<<"B析构函数\n";
}
};
class A
{
private:
char name[10];
public:
A ()
{
cout<<"A构造函数\n";
}
~A()
{
cout<<"A析构函数\n";
}
};
class C:public A,public B
{
public:
C()
{
cout<<"C构造函数\n";
}
~C()
{
cout<<"C析构函数\n";
}
};
int main()
{
C* abc=new C[3];
cout<<"销毁对象B\n\n\n";
delete []abc;
getchar();
return 0;
}
结果输出为