#include<iostream>
using namespace std;
class Base1
{
public:
Base1()
{
cout<<"Base1()"<<endl;
}
~Base1()
{
cout<<"~Base1()"<<endl;
}
};
class Base2
{
public:
Base2()
{
cout<<"Base2()"<<endl;
}
~Base2()
{
cout<<"~Base2()"<<endl;
}
};
class D:public Base2, public Base1
{
public:
D()
:_d(1)
{
cout<<"D()"<<endl;
}
~D()
{
cout<<"~D()"<<endl;
}
private:
int _d;
Base1 b1;
Base2 b2;
};
int main()
{
D d;//对于子类来说每一次创建对象,都是先调用父类的构造函数,再然后调用子类构造函数,而当在子类成员中具有父类的对象时,子类的构造函数又将再一次延迟调用,创建哪一个对象则调用哪一个构造函数![这里写图片描述]
return 0;
}
继承(子类与父类构造函数的关系)
最新推荐文章于 2022-12-30 23:07:52 发布