天天看點

C++類中const成員小結

問題如下:

class A

{

public:

A();

const int d[2];

};

A::A()// 如何初始化數組d?

{

}

void main()

{

解決辦法:

class A

{

public:

A();

static const int d[2];

};

A::A()

{

}

const int A::d[2] = {3, 4};

int main()

{

A a;

cout << a.d[0] << ", " << a.d[1] << endl;

return 0;

}

C++為類中提供類成員的初始化清單

類對象的構造順序是這樣的:

1.配置設定記憶體,調用構造函數時,隐式/顯示的初始化各資料成員

2.進入構造函數後在構造函數中執行一般計算

  1.類裡面的任何成員變量在定義時是不能初始化的。

  2.一般的資料成員可以在構造函數中初始化。

  3.const資料成員必須在構造函數的初始化清單中初始化。

  4.static要在類的定義外面初始化。   

  5.數組成員是不能在初始化清單裡初始化的。

  6.不能給數組指定明顯的初始化。