Udostępnij za pośrednictwem


Inicjowanie tablic

Jeśli klasa ma on konstruktora, tablice tej klasy są inicjowane przez konstruktora.Jeśli istnieją mniej elementów na liście inicjator niż elementów w tablicy, Konstruktor domyślny jest używany do pozostałych elementów.Brak domyślnego konstruktora jest zdefiniowany dla tej klasy, listy inicjatorów, muszą być kompletne — to znaczy, muszą być inicjator jeden dla każdego elementu w tablicy.

Należy wziąć pod uwagę Point klasa, która definiuje dwa konstruktory:

// 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()
{
}

Pierwszy element aPoint jest konstruowana przy użyciu konstruktora Point( int, int ); Pozostałe dwa elementy są konstruowane przy użyciu domyślnego konstruktora.

Tablice członka statycznego (czy const lub nie) mogą być inicjowane w ich definicjach (poza deklaracji klasy).Na przykład:

// 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()
{
}

Zobacz też

Informacje

Inicjalizacja za pomocą specjalnych funkcji elementów członkowskich