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 color,
int wings)
;bug
(legs,color)
intmain()
在建立派生類物件時,需要呼叫基類的建構函式:初始化派生類物件中從基類繼承的成員。在執行乙個派生類的建構函式之前,總是先執行基類的建構函式。
呼叫基類建構函式的兩種方式:
–顯示方式:在派生類的建構函式中,為基類的建構函式提供引數。
derived:derived(arg_derived-list):base(arg_base-list)
–隱式方式:在派生類的建構函式中,省略基類建構函式時,派生類的建構函式會自動呼叫基類的預設建構函式.
派生類的析構函式被執行時,執行完派生類的析構函式後,自動呼叫基類的析構函式。
class
base
~base()
};class
derived
:public base
~derived()
};intmain()
//結果
/*base 3 construted
derived constructed
derived destructed
base 3 destructed
用初始化列表初始化成員類和基類。
1)在執行基類的建構函式,用以初始化派生類物件中從基類繼承的成員;
2)在執行成員物件類的建構函式,用以初始化派生類物件中成員物件。
3)最後執行派生類自己的建構函式。
(35 1)派生類的建構函式
建構函式和類的名字是一致的 派生類名 形式引數列表 基類名 基類建構函式實參列表 派生類初始化列表 class point 建構函式 class rect public point 派生類建構函式 類名 形式引數列表 子物件名 子物件建構函式實參列表 類初始化列表 classa a類沒有建構函式,系...
1 4 3 7 派生類的構造方法
根據改寫。加入自己見解使其更易懂 如下 功能 講述上圖派生類建構函式的執行順序 包含各層次類都靜態構造 例項建構函式 public class mybaseclass public mybaseclass 5.第乙個類的例項建構函式執行 public class mydrivedclass myba...
5 3派生類的建構函式和析構函式
派生類建構函式一般形式 派生類建構函式名 總參數列 積累建構函式名 實際引數列表 派生類中新增資料成員初始化語句 看下面 例子 class student 基類 student 預設建構函式 student 基類析構函式 protected int a double b string c class...