Share via


Miembros de clase

las clases pueden tener estas clases de miembros:

Comentarios

La lista de miembros de una clase se puede dividir en private, protected y las secciones de Público mediante las palabras clave conocidas como especificadores de acceso.Un signo de dos puntos : debe seguir el especificador de acceso.Estas secciones no necesitan ser contiguas, es decir, cualquiera de estas palabras clave pueden aparecer varias veces en la lista de miembros.La palabra clave this el acceso de todos los miembros hacia arriba hasta el especificador siguiente de acceso o la llave de cierre.

Las declaraciones de miembro en la lista de miembros están separadas por puntos y comas ;.Vea Sintaxis de la declaración de miembro de clase.

el propósito de la lista de miembros es:

  • Declare el conjunto completo de miembros para una clase determinada.

  • Especifique el acceso (public, private, o protected) asociado a los distintos miembros de clase.

En la declaración de una lista de miembros, puede declarar miembros solo una vez; la nueva declaración de miembros muestra un mensaje de error.Dado que una lista de miembros es un conjunto completo de miembros, no puede agregar miembros a una clase determinada con declaraciones de clase subsiguientes.

Los declarantes miembro no pueden contener inicializadores.Proporcionando un inicializador muestra un mensaje de error como se muestra en el código siguiente:

// class_members1.cpp
// C2864 expected
class CantInit
{
public:
    long l = 7;       // Error: attempt to initialize
                      //  class member.
    static int i = 9; // Error: must be defined and initialized
                      // outside of class declaration.
};
int main()
{
}

Dado que una instancia independiente de datos miembro no estática se crea para cada objeto de un tipo de clase determinado, la manera correcta de inicializar los datos de miembro es utilizar el constructor de clase.(Se trata en los constructores de constructores,.)

Sólo hay una copia compartida de los miembros de datos estáticos para todos los objetos de un tipo de clase especificado.Los miembros de datos estáticos deben estar definido y pueden inicializar en el ámbito de archivo.(Para obtener más información sobre los miembros de datos estáticos, vea miembros de datos estáticos.) El ejemplo siguiente se muestra cómo realizar estas inicializaciones:

// class_members2.cpp
class CanInit
{
public:
    CanInit() { l = 7; } // Initializes l when new objects of type 
                         //  CanInit are created.
    long       l;
    static int i;
    static int j;
};

// i is defined at file scope and initialized to 15.
// The initializer is evaluated in the scope of CanInit.
int CanInit::i = 15;                                                       

// The right side of the initializer is in the scope 
// of the object being initialized
int CanInit::j = i;  

int main()
{
}

[!NOTA]

El nombre de clase, CanInit, debe preceder i para especificar que i definido es un miembro de la clase CanInit.

Específicos de Microsoft

Microsoft C++ permite static, const entero, y los miembros de datos de enumeración const que se inicializarán en la definición de clase.Vea Extensiones de Microsoft para C y C++.

Vea también

Referencia

Clases, estructuras, uniones y