Klassen in C++ I

Das letzte Kapitel sollte nur einen Überblick über die OOP mit einigen C++ Beispielen geben, jetzt geht es um die Details. Wie erwähnt, ist OOP heute in C++ nicht das zentrale Paradigma, sondern lediglich nur eines von vielen, wenn auch ein sehr wichtiges. Klassen haben in C++ für ihre Member 3 verschiedene Zugriffsebenen:
  • public
  • private
  • protected
Auf in einem public Block deklarierte Elemente einer Klasse hat man auch von außerhalb über die Instanz Zugriff. Auf als private deklarierte Elemente hat nur die Klasse selber Zugriff, während auf protected Elemente auch die abgeleiteten Kindklassen zugreifen dürfen.
Kurze Faustregel: public sollten nur Methoden sein, welche als Schnittstelle nach außen dienen, Membervariablen sollten private sein, können aber auch als protected deklariert werden. Kindklassen können auf private Member ihrer Eltern nur über public/protected Methoden zugreifen.
Häufig sieht man hinter der öffneten { Klammer keine bezeichner, in C++ ist es so, das class als Schlüsselwort seine Member per default private macht, struct dagegen public.