Matrices inicializar

Si una clase tiene un constructor, las matrices de esa clase inicializa por un constructor.Si hay menos elementos en el inicializadores que elementos de la matriz, use el constructor predeterminado para los elementos restantes.Si no hay un constructor predeterminado definido en la clase, la lista de inicializadores debería rellenar (es decir, debe haber un inicializador para cada elemento de la matriz.

Considere la clase de Point que define dos constructores:

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

El primer elemento de aPoint se construye utilizando el constructor Point( int, int ); restantes los dos elementos se crean con el constructor predeterminado.

Las matrices miembro static (si const o no) se pueden inicializar en sus definiciones (fuera de la declaración de clase).Por ejemplo:

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

Vea también

Referencia

Inicialización mediante funciones miembro especiales