Praktische Mehrfachvererbung

Beispielprogramm: ZEITDAT.H

Die Datei ZEITDAT.H gibt ein praktisches Beispiel für Mehrfachvererbung. Wir kehren zu den uns schon wohlbekannten Klassen DatumNeu und Tageszeit zurück.

Du kannst von dieser kleinen header-Datei einiges lernen, da es unser erstes Beispiel für Elementinitialisierung bei Mehrfachvererbung ist. Für diese Klasse existieren zwei Konstruktoren. Der erste ist sehr simpel und tut selbst überhaupt nichts, wie Du aus Zeile 13 ersehen kannst. Es werden also die Standardkonstruktoren für die Klassen DatumNeu und Tageszeit ausgeführt. In beiden Fällen wird der Konstruktor verwendet, der keine Parameter verlangt. Ein solcher existiert naturgemäß für beide Klassen.

Der zweite Konstruktor ist da schon interessanter, da er nicht einfach die Standardkonstruktoren verwendet, sondern einige seiner Parameter an die Konstruktoren der ererbten Klassen weitergibt. Nach dem Doppelpunkt in Zeile 14 stehen zwei Elementinitialisierer, mit denen wir Elemente der Klasse initialisieren. Da die beiden Elternklassen vererbt wurden, sind auch sie Elemente dieser Klasse und können initialisiert werden, wie wir es zeigen. Beide Elementinitialisierungen sind Aufrufe eines Konstruktors der Basisklasse und es ist offensichtlich, daß ein Konstruktor für die jeweilige Basisklasse mit einer korrespondierenden Anzahl und denselben Typen von Parametern existieren muß. In Zeile 15 rufen wir eigentlich den Standardkonstruktor der Klasse DatumNeu auf, da wir keine Parameter angeben. Wir könnten auch einfach das System den Standardkonstruktor aufrufen lassen, wenn wir dies aber selbst tun, sehen wir gleich, was passiert.

Nach den Elementinitialisierungen wird der normale Code des Konstruktors der abgeleiteten Klasse ausgeführt. Dieser findet sich in unserem Beispiel in Zeile 17.

(weiter...)