3.1 Definition
  • Syntax:

    class Klasse {
        private:
                  Typ Daten;
                  ...
                  Typ FunktionA(...);
                  ...
        public:
                 Typ Data2;   // schlecht
                  Typ FunktionB();
                  ...
    };
  • Per default sind alle Klassenelemente private. Erst durch die Schlüsselworte public: oder protected: lassen sich andere Reichweiten einstellen. Es ist aber empfehlenswert immer explizite die Reichweite zu setzen.
  • Theoretisch könnte man Klassen auch als struct definieren. Hier ist der default "public". struct's sollten aber in C++ nur für reine Datenstrukturen genutzt werden.
  • Die Elemente einer Klasse können von den Member-Funktionen direkt angesprochen werden.
  • Innerhalb der Klassendefinition muss nur die Deklaration einer Memberfunktion erfolgen. Die Definition kann (sollte) später oder an anderer Stelle (andere Datei) erfolgen. Dann muss sich diese Definition mit NAME::Funktion() auf die Klasse beziehen.
  • Nachdem die Klasse definiert ist, muss ein Objekt des Typs erzeugt werden:

       Klasse Objekt;
  • Auf die öffentlichen Funktionen und Daten kann  per

       Objekt.Data2;
       Objekt.FunktionB();

    zugegriffen werden.
  • Die voll qualifizierte Schreibweise für den Zugriff wäre:

       Objekt.Klasse::Data2;
       Objekt.Klasse::FunktionB();