在過去的兩個教訓,我們已經看了一些基本的c++繼承與探索,派生類初始化的次序。
在本課中,我們將看看在派生類的建構函式初始化的作用。
這樣做,
我們將繼續使用
簡單的基礎
上一課和派生類,
我們開發了:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class
base
};
class
derived:
public
base
};
非派生類的建構函式,只擔心自己的成員。
例如,考慮基礎。
我們可以
建立乙個基地,
這樣的物件:1
2
3
4
5
6
int
main()
這裡到底發生了什麼的時候,中文資料庫例項:
記憶是留出cbase資料庫
適當的基建構函式被呼叫
初始化列表初始化變數
建構函式的函式體執行
將控制返回給呼叫者
這是很簡單的。與派生類,事情稍微更複雜:
1
2
3
4
5
6
int
main()
{
derived cderived(1.3);
// use derived(double) constructor
return
0;
派生類建構函式
1 建構函式和複製控制成員不能繼承,每個類定義自己的建構函式和複製控制成員。像任何類一樣,如果類不定義自己的預設建構函式和複製控制成員,就將使用合成版本。2 派生類的合成預設建構函式除了初始化派生類的資料成員之外,它還初始化派生類物件的基類部分。基類部分由基類的預設建構函式初始化。3 派生類建構函式...
派生類 建構函式
在hpp標頭檔案中,宣告建構函式中,必須為新增的資料成員和基類的資料成員提供資料,即每乙個形參代表乙個成員 派生類宣告建構函式入下,其中r是給新增的資料,後面是基類的成員。在cpp檔案定義的時候,必須建立基類的物件,即如果不是預設的物件,則必須顯示的建立基類的物件,將資料傳遞給基類的物件 如下圖 t...
派生類的建構函式
派生類的資料成員由所有基類的資料成員與派生類新增的資料成員共同組成,如果派生類新增成員中包括其他類的物件 子物件 派生類的資料成員中實際上還間接包括了這些物件的資料成員。因此,構造派生類的物件時,必須對基類資料成員 新增資料成員和成員物件的資料成員進行初始化。派生類的建構函式必須要以合適的初值作為引...