子類與父類構造函式呼叫順序

2021-10-19 19:00:44 字數 648 閱讀 2347

子類的析構函式的呼叫順序,和子類的建構函式的呼叫順序相反!!!

記住,相反即可。

#include

#include

using

namespace std;

classm~

m()}

;classn~

n()}

;classa~

a()}

;classb:

public a ~b

()private

: m m1;

m m2;

static n ms;};

n b::ms;

//靜態成員

intmain

(void

)system

("pause");

}

執行:

//呼叫構造

n::n

a::a

m::m

m::m

b::b

//呼叫析構

b::~b

m::~m

m::~m

a::~a

靜態物件在程式終止時被銷毀,所以:

靜態成員的析構函式,在程式結束前,是不會被呼叫的!

static,建構函式,子類,父類執行順序

幾天前去華為筆試,遇到了 static變數,建構函式以及父類 子類構造和static執行順序的考題,結果就瞎矇了,也不對。前幾天想起來,就實際寫了 測試一下,結論如下 1 每個類初始化時,會先初始化它的static再執行構造方法,當static已經執行過後,該類的新的例項不會再執行static 2 ...

static,建構函式,子類,父類執行順序

幾天前去華為筆試,遇到了 static變數,建構函式以及父類 子類構造和static執行順序的考題,結果就瞎矇了,也不對。前幾天想起來,就實際寫了 測試一下,結論如下 1 每個類初始化時,會先初始化它的static再執行構造方法,當static已經執行過後,該類的新的例項不會再執行static 2 ...

父類建構函式 子類建構函式

1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...