Freigeben über


Zugriffsspezifizierer

In den Klassendeklarationen können Member Zugriffsspezifizierer haben.

Grammatik

access-specifier : member-listopt

  • access-specifier: einer der Folgenden
    private

    public

    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

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.

Siehe auch

Referenz

Memberzugriffssteuerung