成員初始化表的作用 例項解析

2021-06-12 22:29:54 字數 565 閱讀 7504

在類的初始化過程中,成員初始化表是一種更高效的方式,從下面例子可以看出以下兩種初始化方法的效率區別

第一種:

bigclass(const memclass& a):_a(a){}

第二種:

bigclass(const memclass& a)

對於第一種 成員類不呼叫預設建構函式,直接呼叫複製建構函式

對於第二種 成員類首先呼叫預設建構函式,然後呼叫=操作符過載 來完成複製

其區別類似於

memclass a(memclass(b)); 和

memclass a;

memclass b;

a = b;

以下是完整**

初始化列表成員變數的初始化

對於以下程式 include using namespace std class base base b 0 a b int get a int get b int main 本想得到的結果是a,b都為90。但是實際結果卻是 4273046 90process returned 0 0x0 exec...

初始化的例項

說明 包含main 方法的類中包含有static類,static類先初始化 class bowl1 void f1 int marker class table1 void f2 int marker static bowl1 bowl2 new bowl1 2 class cupboard1 vo...

成員初始化列表

類物件的構造順序是這樣的 1.分配記憶體,呼叫建構函式時,隱式 顯示的初始化各資料成員 初始化階段可以是顯式的或隱式的,取決於是否存在成員初始化表。隱式初始化階段按照宣告的順序依次呼叫所有基類的預設建構函式,然後是所有成員類物件的預設建構函式。2.進入建構函式後在建構函式中執行一般計算 計算階段由建...