常成員變數陣列初始化的問題

2021-05-23 06:56:19 字數 338 閱讀 1647

今晚在論壇裡看到一篇帖子(http://topic.csdn.net/u/20100808/20/6d0557e2-62ca-4b5c-9f61-153206072de4.html),是關於常成員變數陣列初始化的問題,以前碰到過這個問題,在網上搜了一下,只看到兩種替代的方案。不知道可否真正實現常成員變數陣列初始化,不管怎樣,先在這裡記一下:

程式舉例:

由於類的常成員變數必須在建構函式初始化列表中初始化,但這裡常成員變數是個陣列,單獨使用d[0](0),d[1](0)在vc6裡編譯通不過,下面列舉了兩種替代方案:

替代方案1:

輸出:1, 2

替代方案2:

輸出:3, 4

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

對於以下程式 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...

c 成員變數初始化

include include using namespace std classa a a intmain 類a的成員變數將進行預設初始化 c 11新特性允許為資料成員提供類內初始值 include include using namespace std classa a a intmain a....

類成員變數初始化

在 c 中,類的成員變數未初始化問題,取決於物件建立方式,不同的建立方式,直接導致類成員變數的初值不同。本文通過下例,得出一下結論 1.在函式體內置立乙個物件,類成員變數和普通的區域性變數一樣,是乙個隨機值。2.建立乙個全域性成員物件,類成員變數和全域性變數一樣,編譯器賦值為 0。3.在函式體內 n...