BESTE WEBSITE FÜR WEBENTWICKLER

C++ Lernprogramm

C++ HEIM C++ Einführung C++ Loslegen C++ Syntax C++ Ausgabe C++-Kommentare C++-Variablen C++-Benutzereingabe C++-Datentypen C++ Betreiber C++-Strings C++ Math C++ Booleans C++-Bedingungen C++ Switch C++ While-Schleife C++ For-Schleife C++ Break/Continue C++-Arrays C++-Strukturen C++-Aufzählungen C++-Referenzen C++ Hinweise

C++ Funktionen

C++-Funktionen C++-Funktionsparameter Überladen von C++-Funktionen C++-Bereich C++-Rekursion

C++-Klassen

C++ OOP C++-Klassen/Objekte C++-Klassenmethoden C++-Konstruktoren C++-Zugriffsspezifizierer C++-Kapselung C++-Vererbung C++-Polymorphismus C++-Dateien C++-Ausnahmen C++-Datum

C++ Wie man

Zwei Zahlen hinzufügen Zufallszahlen

C++-Referenz

C++-Referenz C++-Schlüsselwörter C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime>

C++-Beispiele

C++-Beispiele C++-Compiler C++-Übungen C++-Quiz C++-Zertifikat

C++ Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C++ Zugriffsspezifizierer


Zugriffsspezifizierer

Mittlerweile sind Sie mit dem Schlüsselwort public, das in allen unseren Klassenbeispielen vorkommt, recht vertraut:

Beispiel

class MyClass {  // Die Klasse
  public:        // Zugriffsspezifizierer
    // Die Kursteilnehmer gehen hierher
};
Try it Yourself »

Das Schlüsselwort public ist ein Zugriffsspezifizierer. Zugriffsspezifizierer definieren, wie auf die Mitglieder (Attribute und Methoden) einer Klasse zugegriffen werden kann. Im obigen Beispiel sind die Mitglieder public – was bedeutet, dass sie von außerhalb des Codes aufgerufen und geändert werden können.

Was aber, wenn wir möchten, dass die Mitglieder privat und vor der Außenwelt verborgen bleiben?

In C++ gibt es drei Zugriffsspezifizierer:

  • public - Auf die Mitglieder kann von außerhalb der Klasse zugegriffen werden
  • private - Auf Mitglieder kann von außerhalb der Klasse nicht zugegriffen (oder angezeigt) werden
  • protected - Auf Mitglieder kann nicht von außerhalb der Klasse zugegriffen werden, jedoch kann auf sie in geerbten Klassen zugegriffen werden. Später erfahren Sie mehr über Vererbung.

Im folgenden Beispiel demonstrieren wir die Unterschiede zwischen public- und private-Mitgliedern:

Beispiel

class MyClass {
  public:    // Bezeichner für den öffentlichen Zugriff
    int x;   // Public Attribut
  private:   // Privater Zugriffsspezifizierer
    int y;   // Private Attribut
};

int main() {
  MyClass myObj;
  myObj.x = 25;  // Erlaubt (public)
  myObj.y = 50;  // Nicht erlaubt (private)
  return 0;
}

Wenn Sie versuchen, auf ein privates Mitglied zuzugreifen, tritt ein Fehler auf:

error: y is private
Try it Yourself »

Hinweis: Es ist möglich, über eine öffentliche Methode innerhalb derselben Klasse auf private Mitglieder einer Klasse zuzugreifen. Weitere Informationen hierzu finden Sie im nächsten Kapitel (Kapselung).

Tipp: Es gilt als bewährte Vorgehensweise, Ihre Klassenattribute als privat zu deklarieren (so oft wie möglich). Dadurch wird die Wahrscheinlichkeit verringert, dass Sie selbst (oder andere) den Code vermasseln. Dies ist auch der Hauptbestandteil des Kapselungskonzepts, über das Sie im nächsten Kapitel mehr erfahren werden.

Hinweis: Standardmäßig sind alle Mitglieder einer Klasse privat, wenn Sie keinen Zugriffsbezeichner angeben:

Beispiel

class MyClass {
  int x;   // Private Attribut
  int y;   // Private Attribut
};


Kommentare