派生類建構函式的任務應該包括3個部分:
程式中派生類建構函式首部如下:
student1(intn, stringnam,intn1, stringnam1,inta, stringad):
student(n,nam),monitor(n1,nam1)
在上面的建構函式中有6個形參,前兩個作為基類建構函式的引數,第3、第4個作為子物件建構函式的引數,第5、第6個是用作派生類資料成員初始化的。
歸納起來,定義派生類建構函式的一般形式為:
//注意:基類寫的是建構函式名即類名,而子物件寫的是子物件的名不是子物件類的名字
派生類建構函式名(總參數列列):基類建構函式名(參數列列),子物件名(參數列列)
執行派生類建構函式的順序是:
呼叫基類建構函式,對基類資料成員初始化;呼叫子物件建構函式,對子物件資料成員初始化;再執行派生類建構函式本身,對派生類資料成員初始化。
派生類建構函式
1 建構函式和複製控制成員不能繼承,每個類定義自己的建構函式和複製控制成員。像任何類一樣,如果類不定義自己的預設建構函式和複製控制成員,就將使用合成版本。2 派生類的合成預設建構函式除了初始化派生類的資料成員之外,它還初始化派生類物件的基類部分。基類部分由基類的預設建構函式初始化。3 派生類建構函式...
派生類 建構函式
在hpp標頭檔案中,宣告建構函式中,必須為新增的資料成員和基類的資料成員提供資料,即每乙個形參代表乙個成員 派生類宣告建構函式入下,其中r是給新增的資料,後面是基類的成員。在cpp檔案定義的時候,必須建立基類的物件,即如果不是預設的物件,則必須顯示的建立基類的物件,將資料傳遞給基類的物件 如下圖 t...
派生類的建構函式
派生類的資料成員由所有基類的資料成員與派生類新增的資料成員共同組成,如果派生類新增成員中包括其他類的物件 子物件 派生類的資料成員中實際上還間接包括了這些物件的資料成員。因此,構造派生類的物件時,必須對基類資料成員 新增資料成員和成員物件的資料成員進行初始化。派生類的建構函式必須要以合適的初值作為引...