Condividi tramite


Inizializzazione mediante le funzioni membro speciali

In questa sezione viene descritta l'inizializzazione mediante le funzioni membro speciali.Vengono descritte le seguenti discussioni di inizializzazione:

  • inizializzare le aggregazioni quale viene descritto come inizializzare matrici di tipi di nonclass e degli oggetti di classi semplici tipi.Questi tipi semplici della classe non possono avere membri privati o protetti e non possono avere classi base.

  • costruttori, che viene illustrato come inizializzare gli oggetti del classe-tipo utilizzando le funzioni costruttore speciali.

Il metodo predefinito di inizializzazione è di eseguire una copia del bit-per-bit l'inizializzatore nell'oggetto da inizializzare.Questa tecnica è applicabile solo a:

  • Oggetti di tipi incorporati.Di seguito è riportato un esempio:

    int i = 100;
    
  • puntatori.Di seguito è riportato un esempio:

    int i;
    int *pi = &i;
    
  • riferimenti.Di seguito è riportato un esempio:

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • Oggetti di tipo classe, dove la classe non dispone dei membri non privati o protetti, funzioni virtuali e classi base.Di seguito è riportato un esempio:

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

le classi possono specificare l'inizializzazione migliorata definendo le funzioni costruttore.(Per ulteriori informazioni sulla dichiarazione di tali funzioni, vedere costruttori). Se un oggetto è del tipo della classe con un costruttore, l'oggetto deve essere inizializzato, o deve essere presente un costruttore predefinito.Oggetti appositamente non vengono inizializzati di richiamare il costruttore predefinito della classe.

Vedere anche

Riferimenti

Funzioni membro speciali (C++)