Alle Daten initialisieren

Beispielprogramm: VERERB4.CPP

Beim Durchsehen des Beispielprogrammes VERERB4.CPP wirst Du feststellen, daß wir das Initialisierungsproblem des letzten Kapitels beiseite geschafft haben. Wir haben auch jeder Klasse Standardkonstruktoren hinzugefügt, wir können also studieren, wie diese im Zusammenhang mit Vererbung verwendet werden. Außerdem sind wir bei der Vererbung zu public zurückgekehrt.

Beim Erzeugen eines Objektes der Basisklasse Vehikel haben wir kein Problem, da Vererbung hier keine Rolle spielt. Der Konstruktor der Basisklasse funktioniert genauso wie es alle Konstruktoren bisher getan haben. Bei der Erzeugung von unserem Hochrad in Zeile 47 verwenden wir den Standardkonstruktor und das Objekt wird mit den Werten des Konstruktors initialisiert. Die Zeile 49 haben wir auskommentiert, da wir keinen Initialisierungscode für das Objekt mehr brauchen.

Etwas anders stellt sich die Situation dar, wenn wir ein Objekt einer der abgeleiteten Klassen deklarieren, wie in Zeile 57 den Sedan. Wir müssen nicht nur einen Konstruktor für die abgeleitete Klasse aufrufen, sondern haben uns auch darum zu kümmern, wie wir den Konstruktor der Basisklasse aufrufen können. Das ist aber eigentlich kein Problem, da der Compiler automatisch den Standardkonstruktor der Basisklasse aufruft, solange wir nicht explizit einen (anderen) Konstruktor für die Basisklasse aufrufen. Im nächsten Beispielprogramm wollen wir gerade das tun, jetzt aber lassen wir es beim Standardkonstruktor für die Basisklasse, der automatisch aufgerufen wird, bewenden.

(weiter...)