Identificatori di accesso
Nelle dichiarazioni di classe, i membri possono avere identificatori di accesso.
Grammatica
access-specifier : member-listopt
access-specifier: uno dei seguenti
privatepublic
protected
access-specifier determina l'accesso ai nomi che lo seguono, fino a access-specifier successivo o la fine della dichiarazione di classe. Nella figura che segue viene illustrato questo concetto.
Controllo di accesso nelle classi
Sebbene nella figura vengano illustrati solo due identificatori di accesso, non esiste alcun limite al numero di identificatori di accesso presenti in una dichiarazione di classe specificata. Ad esempio, la classe Point nella figura può essere dichiarata altrettanto facilmente utilizzando più identificatori di accesso come illustrato di seguito:
// access_specifiers1.cpp
class Point
{
public: // Declare public constructor.
Point( int, int );
private: // Declare private state variable.
int _x;
public: // Declare public constructor.
Point();
public: // Declare public accessor.
int &x( int );
private: // Declare private state variable.
int _y;
public: // Declare public accessor.
int &y( int );
};
int main()
{
}
Si noti che per l'accesso ai membri non è richiesto alcun ordine specifico, come illustrato nell'esempio precedente. L'allocazione di memoria per oggetti di tipo classe è indipendente dall'implementazione, ma ai membri vengono assegnati gli indirizzi di memoria successivamente superiori tra gli identificatori di accesso.