C 面試常見問題 10派生類的構造與析構

2022-03-31 07:35:32 字數 464 閱讀 1729

派生時建構函式與析構函式不會被繼承,需要重新定義派生類的建構函式與析構函式。派生類物件包含了基類物件的值,建立派生類時首先會呼叫基類的建構函式,若派生類中含有其它類物件成員,則需要在初始化列表中對其進行初始化。

派生類名(派生類建構函式的引數列表):基類名(基類建構函式的引數列表){

​ 函式體;

執行派生類建構函式時一般分為一下4步:

完成派生類物件記憶體空間的開闢,這由系統呼叫派生類建構函式自動完成。

呼叫基類建構函式對基類資料成員進行初始化。

若派生類物件中包含物件成員const成員引用成員,必須在初始化列表中完成對其的初始化。

執行派生類物件的函式體。

與派生類的建構函式相反。析構時首先會執行派生類的析構函式,若有物件成員會執行物件成員的類的析構函式,最後執行基類的析構函式。

1 4 3 7 派生類的構造方法

根據改寫。加入自己見解使其更易懂 如下 功能 講述上圖派生類建構函式的執行順序 包含各層次類都靜態構造 例項建構函式 public class mybaseclass public mybaseclass 5.第乙個類的例項建構函式執行 public class mydrivedclass myba...

(35 1)派生類的建構函式

建構函式和類的名字是一致的 派生類名 形式引數列表 基類名 基類建構函式實參列表 派生類初始化列表 class point 建構函式 class rect public point 派生類建構函式 類名 形式引數列表 子物件名 子物件建構函式實參列表 類初始化列表 classa a類沒有建構函式,系...

19 派生類的建構函式

class bug class flyclass public bug bug bug int legs,int color flybug flybug int legs,int color,int wings 正確的flybug建構函式 flybug flybug int legs,int col...