Funktionsüberladung in einer Klasse

Beispielprogramm: FUNUEBER.CPP

Das Programm FUNUEBER.CPP gibt uns ein Beispiel für das Überladen von Funktionsnamen in einer Klasse. In dieser Klasse überladen wir den Konstruktor und eine der Methoden, um zu demonstrieren, was gemacht werden kann.

Diese Datei zeigt einige der Verwendungsmöglichkeiten von überladenen Funktionsnamen und ein paar Regeln für ihre Anwendung. Du wirst Dich erinnern, daß die Auswahl der Funktion allein nach der Anzahl und dem Typ der formalen Parameter erfolgt. Der Typ des Rückgabewertes hat darauf keinen Einfluß.

In diesem Fall haben wir drei Konstruktoren. Welcher der Konstruktoren aufgerufen wird, entscheidet sich anhand der Anzahl und der Typen der Parameter in der Definition. In Zeile 78 des Hauptprogrammes deklarieren wir die drei Objekte, jedes mit einer anderen Anzahl an Parametern und wenn wir uns das Ergebnis ansehen, können wir leicht erkennen, dass der jeweils richtige Konstruktor aufgerufen wurde.

Bei den anderen überladenen Methoden wird die passende Methode genauso festgestellt. Eine der Nachrichten beinhaltet eine Variable vom Typ int, eine andere eine Variable vom Typ float, das System findet aber die passende Methode. Du kannst eine Methode so oft überladen, wie Du willst, solange die Parameter eindeutig sind.

Vielleicht denkst Du nun, daß das ganze nicht viel Sinn macht und bist geneigt, es als Spielerei abzutun, das Überladen ist aber sehr wichtig. Die gesamte Einführung hindurch haben wir einen überladenen Operator verwendet, ohne daß Du irgendetwas Außergewöhnliches daran gefunden hättest. Es handelt sich um den Operator <<, der Teil der Klasse cout ist. Dieser Operator ist überladen, da die Form der Ausgabe von der Eingabevariable abhängt. Viele Programmiersprachen haben überladene Ausgabefunktionen, damit Du alle möglichen Daten mit ein und demselben Funktionsname ausgeben kannst.

Kompiliere das Programm und führe es aus.

(weiter...)