繼承的構造與析構

2021-08-27 16:31:29 字數 409 閱讀 6218

子類物件在構造時,先呼叫父類的建構函式,然後再呼叫自己的建構函式,析構順序相反。

看下測試**:

#include #include using namespace std;

class grandparent

{public:

grandparent()

{ cout<

輸出結果如下:

結果很明顯了,子類構造時,先呼叫父親的建構函式,父親發現他還有父親,於是父類就去呼叫子類的爺爺,

呼叫結束後繼續父類的構造,父類構造結束後才呼叫子類的建構函式,析構時順序相反~~

繼承的構造與析構

子類物件在構造時,先呼叫父類的建構函式,然後再呼叫自己的建構函式,析構順序相反。看下測試 include include using namespace std class grandparent public grandparent cout 輸出結果如下 結果很明顯了,子類構造時,先呼叫父親的建...

繼承的構造與析構

賦值相容規則是指在需要基類物件的任何地方都可以使用公有派生類的物件來替代。在共有public繼承的條件下 子類物件可以當作父類物件使用 子類物件可以直接賦值給父類物件。子類物件可以直接初始化父類物件。父類指標可以直接指向子類物件。父類引用可以直接引用子類物件。舉例 include include u...

構造 析構 物件與繼承

c 學習筆記之二 上一節講到了建構函式,這一節繼續講解。1 建構函式可以被過載,如 object object int object 這兩個函式是具有相同的函式名,而引數個數或引數型別不同,這就是過載。2 析構函式 特點 沒有返回值,以 打頭,且函式在物件銷毀時呼叫 即作用域結束時被呼叫 出了作用域...