C 中成員變數的初始化

2021-06-18 22:18:21 字數 649 閱讀 7652

類成員變數的初始化對於初學者來說是乙個頭疼的問題,總是記不住***型別應該怎樣進行初始化。為了解決後顧之憂,今天就把類中所有型別的成員變數的初始化做乙個總結。

首先,我們來看看c++的類中都有哪幾種型別的成員變數。

class test

;

大概的型別就是這幾類,當然還有其他一些比如 int* f; int* &g;const int* h;這些無非都可以歸為以上某一類。因此為了簡化就不詳細羅列了。

成員變數的初始化有且僅有兩種:

1)用「=」賦值

2)用成員初始化列表

記住一點:只能用成員初始化列表有兩類:常量成員(注意沒有靜態常量成員)和引用型別成員。

再記住一點:靜態成員和靜態常量成員由於是類共有的,不是屬於某乙個物件的,因此不能再建構函式中初始化。

最後記住一點:靜態成員(這裡不包括靜態常量成員)必須在類外初始化。

最後的最後記住一點:引用變數必須初始化後才能使用。

class test

};int test::c=1;

const int test::d=1;//也可以這樣初始化

最後說明 一點,成員變數的初始化順序只與宣告的順序一致,而和在程式中賦值先後順序無關。

c 成員變數初始化

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

C 類中成員變數初始化

c 類中成員變數包括主要四種 普通成員變數,常量成員變數,靜態成員變數,靜態常量成員變數 上述成員變數該如何初始化,注意不是賦值。由於普通成員變數和常量成員變數,每乙個類例項化,都乙份記憶體拷貝。c 規定成員變數在宣告 注意宣告與定義區別 時,不允許初始化,因此這些變數只能放在建構函式初始化列表中。...

C 中成員變數的初始化方法

c 成員變數的資料型別比較特別,它們的初始化方式也和普通資料型別的成員變數有所不同。這些特殊的型別的成員變數包括 a.常量型成員變數 b.引用型成員變數 c.靜態成員變數 d.整型靜態常量成員變數 e.非整型靜態常量成員變數 對於常量型成員變數和引用型成員變數的初始化,需要通過建構函式初始化列表的方...