Aufruf des Konstruktors der Basisklasse

Im gezeigten Beispiel werden die Elemente AnzahlRaeder und Motorleistung sowohl im Konstruktor von Auto als auch im Konstruktor von Laster direkt gesetzt.

Dies ist in vielen Fällen unerwünscht oder gar nicht möglich, weil

Implizit wird vor dem Code des Laster-Konstruktors ohnehin der Defaultkonstruktor der Basisklasse Auto ausgeführt. Man kann gezielt auch einen anderen Konstruktor wählen, indem man die Klasse Laster etwas ändert:

//...
  // Konstruktor:
  Laster( double LeistungKW = 0.0,
          int nRad = 6,
          double Last = 100.00
          )
    : Auto( LeistungKW, nRad )
  {
    Zuladung = Last;
  }
//...

In einer abgeleiteten Klasse kann man nach der Parameterliste des Konstruktors (mit einem Doppelpunkt getrennt) einen Konstruktor der Basisklasse mit den zugehörigen Parametern angeben, und verzichtet stattdessen auf die entsprechenden direkten Initialisierungen im Funktionsrumpf.

Wenn man den Konstruktor in der Klasse nur deklariert, und an anderer Stelle definiert, dann gibt man den Basiskonstruktor bei der Implementation an (also außerhalb der Klasse).

AnyWare@Wachtler.de