共用方式為


初始化陣列

如果類別有一個建構函式,建構函式會初始化該類別的陣列。 如果在初始設定式清單中,於陣列中的項目有較少的項目,預設建構函式用於其餘的項目。 如果沒有預設建構函式定義為類別時,必須完成初始設定式清單 — 也就是一定要有一個初始設定式在陣列中的每個項目。

請考慮Point會定義兩個建構函式的類別:

// initializing_arrays1.cpp
class Point
{
public:
   Point()   // Default constructor.
   {
   }
   Point( int, int )   // Construct from two ints
   {
   }
};

// An array of Point objects can be declared as follows:
Point aPoint[3] = {
   Point( 3, 3 )     // Use int, int constructor.
};

int main()
{
}

第一個元素的aPoint使用建構函式來建構Point( int, int )。 剩餘的兩個項目會使用預設建構函式所建構的。

靜態成員的陣列 (是否 const 與否) 可以在它們的定義 (類別宣告之外) 中初始化。 例如:

// initializing_arrays2.cpp
class WindowColors
{
public:
    static const char *rgszWindowPartList[7];
};

const char *WindowColors::rgszWindowPartList[7] = {
    "Active Title Bar", "Inactive Title Bar", "Title Bar Text",
    "Menu Bar", "Menu Bar Text", "Window Background", "Frame"   };
int main()
{
}

請參閱

參考

使用特殊成員函式初始設定