Compartir a través de


Inicialización mediante funciones miembro especiales

Esta sección describe la inicialización mediante funciones miembro especiales.Expande las conversaciones siguientes de inicialización:

  • agregados que se inicializan que describe cómo inicializar matrices de tipos de los nonclass y objetos de tipos de clases simples.Estos tipos de clases simples no pueden tener miembros private o protected, y no pueden tener clases base.

  • constructores, que explica cómo inicializar objetos de tipo de clase mediante funciones especiales del constructor.

El método predeterminado de inicialización es realizar una copia de bit-para-bit de inicializadores en el objeto que se inicializará.Esta técnica sólo es aplicable a:

  • objetos de tipos integrados.Por ejemplo:

    int i = 100;
    
  • punteros.Por ejemplo:

    int i;
    int *pi = &i;
    
  • referencias.Por ejemplo:

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • Objetos de tipo de clase, la clase tiene private o miembros protegidos, las funciones virtuales, y ninguna clase base.Por ejemplo:

    // spec1_special_member_functions.cpp
    // compile with: /LD
    struct Point
    {
        int x, y;
    };
    
    Point pt = { 10, 20 };   // Static storage class only
    

Las clases pueden especificar una inicialización refinada definir funciones constructoras.(Para obtener más información sobre declarar estas funciones, vea constructores.) Si un objeto es de un tipo de clase con un constructor, el objeto debe inicializar, o debe haber constructor predeterminado.Los objetos que no se inicializan específicamente se invoca el constructor predeterminado de la clase.

Vea también

Referencia

El miembro especial funciona (C++)