C++派生类构造函数

派生类构造函数调用顺序:
1.基类的构造函数.
2.子对象类的构造函数.
3.派生类构造函数.
当对象被删除时,派生类的析构函数被执行,由于析构函数也不能被继承,因此在执行派生类的析构函数时,基类的析构函数也会被调用。先执行派生类的析构函数,再执行子对象类的析构函数,再执行基类的构造函数。
#include
using namespace std;

class A
{
public:
       A()
       {
              cout<<"Construct A"<
       }
       ~A()
       {
              cout<<"Destruct A"<
       }
};

class B
{
public:
       B()
       {
              cout<<"Construct B"<
       }
       ~B()
       {
              cout<<"Destruct B"<
       }
};

class CBase
{
public:
       CBase(void)
       {
              cout<<"Construct Base"<
       }
       ~CBase(void)
       {
              cout<<"Destruct Base"<
       }
       A a;
       B b;
};

class CBaseEx :public CBase
{
public:
       A a;
       B b;
       CBaseEx()
       {
              cout<<"Construct BaseEx"<
       }
       ~CBaseEx()
       {
              cout<<"Destruct BaseEx"<
       }
};

int main(int argc,char*argv[])
{
       CBaseEx cb1;
       return 0;
}
C++派生类构造函数_第1张图片

你可能感兴趣的:(C/C++)