初始化列表 常物件 靜態物件的使用方法

2021-09-02 07:04:38 字數 766 閱讀 8248

class test1

void show()

private:

int ma;

int mb;

};int main()

注意:初始化列表中執行順序為成員變數的宣告順序有關,const成員和引用成員只能在初始化列表初始化

int main()

注意:常物件只能呼叫常方法,常方法不可以呼叫普通方法;普通成員方法可以呼叫常方法

常物件呼叫的this指標為const  test * this,而不普通方法呼叫的指標為 test * this;( test *   !=  const  test *)

//常方法

void show() const

void show() const

void show1(int ma)

靜態的成員變數:(初始化在類外,不屬於物件私有,所有物件共享)

test

;int test::ma = 10;

靜態的成員方法:(呼叫約定為_cdecl約定,沒有 this 指標,不能訪問普通成員變數,只能訪問靜態的成員變數)

test

static int ma;

int mb;

};int test::ma = 10;

C 的初始化列表與常物件

一 初始化列表 建構函式的初始化列表 來指明成員的初始化方式 建構函式內部都是賦值 clink a 20 int a 20 初始化a b 30 賦值 筆試題 以下這段 初始化列表中的執行順序問題 1 test int a,int b ma a mb ma void show cout int ma ...

c 物件初始化列表

1 物件初始化列表出現原因 1 必須這樣做 如果我們有乙個類成員,它本身是乙個類或者是乙個結構,而且這個成員它只有乙個帶引數的建構函式,沒有預設建構函式。這時要對這個類成員進行初始化,就必須呼叫這個類成員的帶引數的建構函式,如果沒有初始化列表,那麼他將無法完成第一步,就會報錯。2 類成員中若有con...

靜態物件如何初始化?

介紹 當編譯乙個c 程式時,計算機的記憶體被分成了4個區域,乙個包括程式的 乙個包括所有的全域性變數,乙個是堆疊,還有乙個是堆 heap 我們稱堆是自由的記憶體區域,我們可以通過new和delete把物件放在這個區域。你可以在任何地方分配和釋放自由儲存區。但是要注意因為分配在堆中的物件沒有作用域的限...