Membri di classe
Le classi possono disporre di questi tipi di membri:
Classi, che includono classi, strutture e unioni.(Vedere Dichiarazioni di classi annidate e Unioni).
-
[!NOTA]
Elementi friend sono inclusi nell'elenco precedente perché sono contenuti nella dichiarazione di classe.Tuttavia, non sono membri della classe true, perché non sono nella classe.
Note
L'elenco membri di classe può essere suddiviso in private, protected e pubblico sezioni utilizzando le parole chiave note come identificatori di accesso.i due punti : deve utilizzare l'identificatore di accesso.Queste sezioni non devono essere contigui, ovvero, alcune di queste parole chiave possono essere visualizzate diverse volte nell'elenco dei membri.La parola chiave indica l'accesso a tutti i membri fino all'identificatore di accesso successivo o alla parentesi graffa di chiusura.
Le dichiarazioni dei membri nell'elenco dei membri sono separate da punto e virgola ;.vedere Sintassi di dichiarazione del membro della classe.
Lo scopo dell'elenco dei membri è:
Dichiarare il set completo dei membri per una classe specificata.
Specificare l'accesso (pubblico, privati, o protetti) associato ai diversi membri della classe.
Nella dichiarazione di un elenco di membri, è possibile dichiarare una sola volta i membri, il ridichiarazione dei membri visualizza un messaggio di errore.Poiché un elenco di membri è un set completo dei membri, non è possibile aggiungere membri a una classe specificata con dichiarazioni di classe successive.
I dichiaratori del membro non possono contenere gli inizializzatori.Fornire un inizializzatore scrive un messaggio di errore come illustrato nel seguente codice:
// 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()
{
}
Poiché un'istanza separata dei dati dei membri non statici viene creata per ogni oggetto di un tipo specifico della classe, la modalità corretta per inizializzare i dati dei membri è possibile utilizzare il costruttore della classe.(Costruttori sono illustrate in costruttori,).
Esiste una sola copia condivisa membri dati statici per tutti gli oggetti di un tipo specifico della classe.I membri dati statici devono essere definiti e possono essere inizializzati in ambito file.(Per ulteriori informazioni sui membri dati statici, vedere Membri dati statici). Nell'esempio seguente viene illustrato come eseguire queste inizializzazioni:
// 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]
Il nome della classe, CanInit, deve precedere i per specificare che i essere definito è un membro di classe CanInit.
Specifici di Microsoft
Microsoft C++ consente statici, integrali const e i membri dati dell'enumerazione const da inizializzare nella definizione della classe.vedere Estensioni Microsoft a C e C++.