Beispielprogramm: MEHRVER2.CPP
Das zweite Beispielprogramm dieses Kapitels, MEHRVER2.CPP, illustriert die Verwendung von Klassen, die Methoden mit demselben Namen aus verschiedenen Elternklassen übernehmen.
Wir haben jeder der drei Klassen eine Methode mit dem Namen KostenProGanzemTag() hinzugefügt. Damit wollen wir zeigen, wie derselbe Methodenname in allen Klassen verwendet werden kann. Die Klassendefinitionen stellen kein Problem dar, die Methoden werden einfach wie gehabt definiert. Ein Problem stellt sich uns jedoch, wenn wir eine der Methoden verwenden wollen, haben sie doch alle denselben Namen, dieselbe Anzahl an und dieselben Typen von Parametern und auch denselben Rückgabetyp. Dadurch kann keine Überladungsregeln entscheiden, welche der Methoden verwendet werden soll.
Wie wir eindeutig festlegen, welche Methode wir meinen, zeigen die Methodenaufrufe in den Zeilen 63, 67 und 71 des Hauptprogrammes. Wir geben den Klassennamen vor dem Methodennamen an, durch einen zweifachen Doppelpunkt von diesem getrennt, also so wie in der Implementation der Methode. Das wird auch Qualifikation des Methodennamen genannt. In Zeile 71 wäre diese Vorgangsweise nicht notwendig, da es sich um die Methode der abgeleiteten Klasse handelt, die Vorrang vor den Elternklassen hat. Du könntest durchaus auch alle Methodennamen qualifizieren, wenn die Namen aber eindeutig sind, übernimmt der Compiler diese Arbeit für Dich, was den Code einfacher zu schreiben und lesen macht.
Kompiliere dieses Programm, führe es aus, und sieh Dir das Ergebnis an.
Copyright © 1997, 1998, 2001-2006 Heinz Tschabitscher - Letzte Änderung 16. Dezember 2005
Heinz Tschabitscher - | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Einfälle?