30)建構函式的初始化列表

2022-04-02 13:43:04 字數 1025 閱讀 4505

初始化你的類的成員變數,不能在定義那塊給初始化,必須在  建構函式那裡,或者在 初始化列表那裡

就是  你想要 初始化 乙個類的物件成員,你需要把他寫在你的  初始化引數列表裡面

類成員是物件  在初始化列表那裡 初始化

類成員是常量,,在初始化列表那裡初始化

1)如果  我們有乙個類成員,他本身是乙個類或者乙個結構,而且這個成員它只有乙個帶引數的建構函式,沒有預設的建構函式,這時要對這個類成員進行初始化,

就必須呼叫這個類成員帶引數的建構函式

如果沒有初始化列表,那麼他將無法完成第一步,就會報錯。

2)在乙個類a中,有另乙個類b,然後,我在a的建構函式中初始化b,沒法寫,比如:

1

//我就是想用b的建構函式來初始化b的成員變數

2classa16

1718

1920 }

3)所以就有了  建構函式的初始化列表這個東西。

4)構造物件成員的順序和初始化列表的順序無關,而是和成員物件的定義順序有關

private:

b b1;

b b2;

inta;

5)還有這個裡面的 a初始化 也可以這樣:

1

public

:2 b(int a):a(10)3

詳細可以見:台式電腦的桌面:

6)常量 初始化,也是在初始化列表中,初始化。

就是  類中變數含有 const 型的變數,必須在初始化列表中初始化它

建構函式初始化列表

建構函式初始化列表以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個資料成員後面跟乙個放在括號中的初始化式。例如 example example ival 0 dval 0.0 ival 和dval 是類的兩個資料成員 上面的例子和下面不用初始化列表的建構函式看似沒什麼區別 example exa...

建構函式初始化列表

c 程式語言中有很多比較重要的概念值得我們去深入 比如今天為大家介紹的有關c 建構函式的相關概念。這一方面的知識在實際程式設計中就是乙個比較重要的應用技術。希望能個大家可以從中學到一些知識。c 建構函式初始化列表以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個資料成員後面跟乙個放在括號中的初始化...

建構函式初始化列表

class object private int v1,v2 看看願意是 先初始化v2為5,然後初始化v1為 3 倍的 v2 但是結果卻是奇葩的,這個是因為建構函式的初始化列表遵循的原則是先初始化父類 父類也是這個原則,那麼就相當於遞迴 然後初始化本類的成員,最後執行建構函式的函式體 而初始化本類的...