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.