3.2 Konstruktoren
  • Wenn ein Objekt einer Klasse definiert wird (Speicher für das Objekt alloziert wird), wird der Konstruktor der Klasse aufgerufen.
  • Der Konstruktor ist eine (öffentliche) Memberfunktion mit dem Namen der Klasse.

             Klasse::Klasse();
  • Konstruktoren liefern keinen Wert zurück (haben auch keinen Funktionstyp).
  • Typische Anwendung: Initialisierung der Attribute.
  • Ein Konstruktor kann wie eine Funktion überladen werden, z. B.:

             Klasse::Klasse(int a, int b);
             Klasse::Klasse(int a);
             Klasse::Klasse(float f);
  • Ein Objekt kann auch durch die Zuweisung eines anderen Objekts gleichen Typs (der gleichen Klasse) initialisiert werden:

            Klasse Objekt1=Objekt2;

    Diese Initialisierung ist realisiert durch den Standard-Konstruktor (der überladen werden darf):

            Klasse::Klasse(Klasse&);

    (Anmerkung: Eine Initialisierung ist keine Zuweisung!)
  • Damit ein Objekt einer Klasse ohne Initialisierungswerte definiert werden kann, muss ein parameterloser Konstruktor existieren.
  • Die Parameter von Konstruktoren können wie normale Funktionen auch mit Standardwerten belegt werden.