c 繼承中的構造與析構

2021-09-29 17:09:28 字數 563 閱讀 1950

問題:  如何初始化父類成員? 父類與子類的建構函式的關係?

在子類物件構造時, 需要呼叫父類建構函式對其繼承得來的成員進行初始化。

在子類物件析構時,需要呼叫父類析構函式對其繼承得來的成員進行清理。

繼承中的構造與析構呼叫規則

1.  子類物件在建立時會首先呼叫父類的建構函式

2.  父類建構函式執行結束後,執行子類的建構函式

3.  當父類建構函式具有引數時,需要在子類的初始化列表中顯式呼叫

4.   析構函式呼叫的先後順序與建構函式相反。

(**可以斷點除錯,完整展現規則。)

#includeusing namespace std;

class parent

~parent()

private:

int a;

int b;

};class child : public parent

~child()

};void playobj()

int main()

C 繼承與構造析構

include 子類物件可以當作父類物件使用 子類物件可以直接賦值給父類物件 子類物件可以直接初始化父類物件 父類指標可以直接指向子類物件 父類引用可以直接引用子類物件 子類物件構造時,需要呼叫父類建構函式對其繼承得來的成員進行初始化 子類物件析構時,需要呼叫父類析構函式對其繼承得來的成員進行清理 ...

繼承中的構造與析構

賦值相容性原則 子類物件可以當作父類物件使用 子類物件可以直接賦值給父類物件 子類物件可以直接初始化父類物件 父類指標可以直接指向子類物件 父類引用可以直接引用子類物件 子類是就是特殊的父類!class child public parent int main int argc,char argv ...

C 繼承的構造與析構

父類建構函式在子類中的呼叫方式 顯示呼叫 父類建構函式的呼叫 class child public parent 顯示呼叫 child string s parent parameter to parent 舉個例子 include include using namespace std class...