Eine Klasse

ist eine Erweiterung der aus C bekannten struct (oder union), also ein Datentyp. Die wesentlichen Erweiterungen sind einerseits die Möglichkeit, innerhalb der Klasse Funktionen unterzubringen, eine Klasse von einer bereits vorhandenen abzuleiten, sowie den Zugriff auf die Elemente der Klasse zu regeln.

Eine Klasse wird mit den aus C bekannten Schlüsselworten union oder struct vereinbart. Anstelle von struct kann man gleichwertig auch das neue Schlüsselwort class verwenden.

Die Funktionen, die innerhalb der Klasse vereinbart werden, heißen Elementfunktionen oder member functions. Oft werden sie auch als Methoden bzw. methods bezeichnet.

Zur Zugriffsregelung kann man innerhalb der struct oder class an den gewünschten Stellen public:, private: oder protected: einfügen. Alle folgenden Elemente der Klasse sind dann dementsprechend von außerhalb der Klasse benutzbar (public:) oder nur von den Elementfunktionen der Klasse (private:). Nur für die Weitervererbung an abgeleitete Klassen (siehe Abschnitt Ableiten von Klassen) ist das Schlüsselwort protected: von Belang. Außer für abgeleitete Klassen ist protected: gleichbedeutend mit private:.

Solange man nichts anderes angibt, sind die Elemente einer mit struct vereinbarten Klasse öffentlich (wie mit public: vereinbart). Die Elemente einer mit class vereinbarten Klasse sind dagegen per Voreinstellung gekapselt (wie mit private: vereinbart). Dies ist in C++ der einzige Unterschied zwischen struct und class.

Die Vereinbarung einer Struktur beziehungsweise Klasse ist eine Deklaration, die nur die Form der Daten und (über die Elementfunktionen) die darauf zulässigen Operationen beschreibt. Man schafft also einen Datentyp, analog zu struct oder enum. Die Definition von Objekten, also das Anlegen der Datenstrukturen im Speicher, geschieht dann über normale Variablenvereinbarung oder im dynamischen Speicher mit dem Operator new (Freier Speicher new und delete). Von der Klasse, dem Datentyp, schafft man also (gegebenenfalls mehrere) konkrete Objekte, die dann auch Instanzen genannt werden.

AnyWare@Wachtler.de