Als letztes Thema dieses Kapitels sollen noch konstante
Objekte behandelt werden. Wie andere Daten auch können
Objekte als konstant deklariert werden, indem bei Ihrer Deklaration
das Schlüsselwort const
vorangestellt wird. Dabei
ist aber eine Besonderheit zu beachten: Um wirklich sicherstellen zu
können, daß sich das Objekt wirklich nicht ändert,
können im Normalfall keine Methoden des Objektes mehr ausgeführt
werden.
Falls man aber möchte, daß Methoden auch bei konstanten
Objekten ausgeführt werden können, da sie keine Elemente
verändern, so kann man dies dem Compiler explizit mitteilen,
indem man ihnen ebenfalls das Schlüsselwort const
voranstellt. Hier bedeutet es nicht, daß die Methode konstant
ist, sondern daß sie das Objekt konstant läßt. Ein
typisches Beispiel wäre eine Ausgabemethode, die nur die
Elemente des Objektes auf dem Bildschirm ausgibt, wie die Methode
zeigeAnzahl
im Beispiel, sie könnte auch wie folgt
deklariert werden (das static
bleibt einfach mit
bestehen):
static int zeigeAnzahl() const { cout<<"Gäste :"<<zaehler<<endl; }
Zum Ende dieses Kapitels sei zum einen noch erwähnt, daß in C++ alle Variablen wie Objekte initialisiert werden können. So kann eine Integervariable z.B. folgendermaßen erklärt werden:
int a(5);
Zum anderen soll noch einmal erläutert werden, wie bei Objekten die Aufteilung in Source- und headerfiles erfolgt.