C++派生類構造函數

派生類構造函數調用順序:
1.基類的構造函數.
2.子對象類的構造函數.
3.派生類構造函數.
當對象被刪除時,派生類的析構函數被執行,由於析構函數也不能被繼承,因此在執行派生類的析構函數時,基類的析構函數也會被調用。先執行派生類的析構函數,再執行子對象類的析構函數,再執行基類的構造函數。
#include
using namespace std;

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

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

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

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

int main(int argc,char*argv[])
{
    CBaseEx cb1;
    return 0;
}
C++派生類構造函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章