Zugriffsspezifizierer
In den Klassendeklarationen können Member Zugriffsspezifizierer haben.
Grammatik
access-specifier : member-listopt
access-specifier: einer der Folgenden
privatepublic
protected
Der Zugriffsspezifizierer bestimmt den Zugriff auf die Namen, die ihm folgen, bis zum folgenden Zugriffsspezifizierer oder dem Ende der Klassendeklaration. Die folgende Abbildung veranschaulicht dieses Konzept.
Zugriffssteuerung in Klassen
Obwohl nur zwei Zugriffsspezifizierer in der Abbildung dargestellt sind, gibt es keine Begrenzung für die Anzahl von Zugriffsspezifizierern in einer bestimmten Klassendeklaration. Beispielsweise kann die Punktklasse in der Abbildung wie folgt genauso leicht mithilfe mehrerer Zugriffsspezifizierer deklariert werden:
// 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()
{
}
Beachten Sie, dass es keine spezifische Reihenfolge für den Memberzugriff gibt, wie im vorangehenden Beispiel gezeigt. Die Speicherbelegung für Objekte von Klassentypen ist implementierungsabhängig, aber Member werden garantiert immer höheren Speicheradressen zwischen Zugriffsspezifizierern zugewiesen.