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