初始化你的類的成員變數,不能在定義那塊給初始化,必須在 建構函式那裡,或者在 初始化列表那裡
就是 你想要 初始化 乙個類的物件成員,你需要把他寫在你的 初始化引數列表裡面
類成員是物件 在初始化列表那裡 初始化
類成員是常量,,在初始化列表那裡初始化
1)如果 我們有乙個類成員,他本身是乙個類或者乙個結構,而且這個成員它只有乙個帶引數的建構函式,沒有預設的建構函式,這時要對這個類成員進行初始化,
就必須呼叫這個類成員帶引數的建構函式
如果沒有初始化列表,那麼他將無法完成第一步,就會報錯。
2)在乙個類a中,有另乙個類b,然後,我在a的建構函式中初始化b,沒法寫,比如:
13)所以就有了 建構函式的初始化列表這個東西。//我就是想用b的建構函式來初始化b的成員變數
2classa16
1718
1920 }
4)構造物件成員的順序和初始化列表的順序無關,而是和成員物件的定義順序有關
private:b b1;
b b2;
inta;
5)還有這個裡面的 a初始化 也可以這樣:
1public
: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 但是結果卻是奇葩的,這個是因為建構函式的初始化列表遵循的原則是先初始化父類 父類也是這個原則,那麼就相當於遞迴 然後初始化本類的成員,最後執行建構函式的函式體 而初始化本類的...