Konstante Objekte

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.