Поделиться через


Инициализировать массивы

Если класс имеет конструктор, массивы этого класса инициализированы конструктором.Если в инициализаторе меньше элементов, чем список элементов в массиве, конструктор по умолчанию, используемые для остальных элементов., Если не задан конструктор по умолчанию для класса, то список инициализации должен быть завершен, то есть должен быть один инициализатор для каждого элемента в массиве.

Рассмотрим Point класс конструктора, определяющий 2:

// 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 ); оставшиеся 2 элемента создаются с помощью конструктора по умолчанию.

Массивы статического члена (ли 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()
{
}

См. также

Ссылки

Инициализация с использованием специальные функции-члены