static成員變數定義初始化

2021-06-25 08:03:47 字數 496 閱讀 6382

static成員變數不僅可以通過靜態成員函式來改變其值,還可以通過建構函式改變其值。其中靜態的建構函式僅僅能夠改變靜態的成員變數,一般建構函式可以改變靜態成員變數或者其他成員變數。

以下是建構函式可以改變靜態成員變數的值的**;

class atest

static a; };

int atest::a=0;//這裡不能加static

int main()

static a;

//const static int c=1;//這樣不可以

const static int c;

// const int d; 這裡如果加上這個必須在建構函式中加上初始化列表初始化

};const int atest::c=9;

//const static int atest::c=9;//外部定義的時候不能加static

int atest::a=0;

int main()

{ cout<

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

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