定義派生類建構函式應該包括三部分內容
(1)對基類資料成員進行初始化
(2)對子物件資料成員進行初始化
(3)對派生類資料成員初始化
一般形式為:
派生類建構函式名(總參數列):基類建構函式名(參數列),子物件名(參數列)
注意: 總參數列中的資料 包括 形參型別和形參變數 而參數列中只有變數名沒有變數型別。
例子就是
student是乙個基類,而student1是它的子類,子類中有乙個monitor屬性,它是 student類物件。基類中有屬性 對應的形參是n,nam,而子類中新增的屬性形參是 a,ad.
則派生類建構函式的首部是
student1(int n,string nam,int n1,string nam1,int a,string ad):student(n,nam),monitor(n1,nam1)
而在使用派生類建構函式時,還有下面兩種特殊的形式
(1)當不需要對派生類新增的成員進行任何初始化操作時,派生類建構函式的函式體可以為空。
(2)如果在基類中沒有定義建構函式,或者是定義了沒有引數的建構函式,那麼在定義派生類建構函式的時候可以不寫基類建構函式。
派生類建構函式
1 建構函式和複製控制成員不能繼承,每個類定義自己的建構函式和複製控制成員。像任何類一樣,如果類不定義自己的預設建構函式和複製控制成員,就將使用合成版本。2 派生類的合成預設建構函式除了初始化派生類的資料成員之外,它還初始化派生類物件的基類部分。基類部分由基類的預設建構函式初始化。3 派生類建構函式...
派生類 建構函式
在hpp標頭檔案中,宣告建構函式中,必須為新增的資料成員和基類的資料成員提供資料,即每乙個形參代表乙個成員 派生類宣告建構函式入下,其中r是給新增的資料,後面是基類的成員。在cpp檔案定義的時候,必須建立基類的物件,即如果不是預設的物件,則必須顯示的建立基類的物件,將資料傳遞給基類的物件 如下圖 t...
派生類的建構函式
派生類的資料成員由所有基類的資料成員與派生類新增的資料成員共同組成,如果派生類新增成員中包括其他類的物件 子物件 派生類的資料成員中實際上還間接包括了這些物件的資料成員。因此,構造派生類的物件時,必須對基類資料成員 新增資料成員和成員物件的資料成員進行初始化。派生類的建構函式必須要以合適的初值作為引...