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