C 中派生類建構函式解析

2021-06-26 02:18:12 字數 854 閱讀 7991

簡單的繼承方式

class parent

class son:public parent

上面的**完成了下面的工作:

派生類物件儲存了基類的資料成員(派生類繼承了基類的實現)

派生類物件可以使用基類的方法(派生類繼承了基類的介面)

派生類需要進行下面的工作:

需要自己的建構函式 可

以根據需要新增額外的資料成員和成員函式

派生類建構函式:訪問許可權

派生類不能直接訪問基類的私有成員,而必須通過基類方法進行訪問。

具體地說就是,派生類建構函式必須使用基類建構函式。

建立派生類物件的時,

程式首先是建立基類的物件,在c++使用成員初始化列表句法來完成繼承工作.例如:

son::son(int r,const char *p,const char *pp,bool vb):parent(r,p,vb)

當然,也可以省略成員初始化列表

son::son(int r,const char *p,const char *pp,bool vb)

]如此一來,物件首先被建立,如果不呼叫基類建構函式,程式將使用預設的基類建構函式,因此上面的構造

方式和下面的構造方式相同:

son::son(int r,const char *p,const char *pp,bool vb):parent()

派生類建構函式有一些重要的性質需要注意的:

基類物件首先被建立

派生類建構函式應通過成員初始化列表將基類資訊傳遞給基類建構函式

派生類建構函式應該初始化派生類新增的資料成員

在進行物件釋放的時候,順序與建立物件時是相反的,即派生類物件首先被釋放,之後才是基類物件.

C 中派生類的建構函式例項

如果基類宣告了帶有引數的建構函式,派生類就應當宣告建構函式。如果基類沒喲宣告建構函式,派生類也可以不宣告建構函式,全部採用預設的建構函式。派生類的建構函式的執行次序是比較重要的,企業比試常考 派生類的建構函式的執行次序如下 1 呼叫基類建構函式,呼叫順序按照他們被繼承時的宣告順序,即從左至右的順序。...

C 派生類建構函式

派生類構造函式呼叫順序 1.基類的建構函式.2.子物件類的建構函式.3.派生類建構函式.當物件被刪除時,派生類的析構函式被執行,由於析構函式也不能被繼承,因此在執行派生類的析構函式時,基類的析構函式也會被呼叫。先執行派生類的析構函式,再執行子物件類的析構函式,再執行基類的建構函式。include u...

關於C 中派生類呼叫基類建構函式的理解

1 當基類中沒有自己編寫的建構函式時,派生類預設條用基類的建構函式 2 當基類中有自己編寫的建構函式時,要在基類中新增無參的建構函式 3 在基類中有自己編寫的建構函式並且在基類中沒有新增無參的建構函式時,要在派生類中是用base指定基類的建構函式 注 初始化的順序是從基類到派生類。初始化時首先會呼叫...