子類的析構函式的呼叫順序,和子類的建構函式的呼叫順序相反!!!
記住,相反即可。
#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.只要父...