Überladen von Funktionen

Willemers Informatik-Ecke

Diese Seite basiert auf Inhalten aus meinem Buch "Einstieg in C++", seinerzeit erschienen im Verlag Galileo Computing. Das Buch ist inzwischen vergriffen.


Das Nachfolgebuch heißt C++. Der Einstieg und ist bei Wrox im Verlag Wiley-VCH erschienen.

Die Inhalte dieser Website unterliegen meinem Urheberrecht und dürfen trotz inhaltlicher Überschneidungen mit dem Buch dank der freundlichen Genehmigung des Verlags Wiley-VCH hier erscheinen.

In den klassischen Programmiersprachen wie in C ist eine Funktion durch ihren Funktionsnamen eindeutig beschrieben. In diesen Sprachen dürfen zwei Funktionen nicht den gleichen Namen tragen.

Typenabhängigkeit

C++ bietet den Luxus, dass Sie Ihre Funktion nicht anders benennen müssen, nur weil sie einen anderen Aufrufparameter hat. Der Compiler verbindet die zu den Aufrufparametern passende Funktion mit den Aufruf. Funktionen werden auf Grund der Parametertypen, aber nicht anhand des Rückgabetyps unterschieden.

Beispiel

Das folgende Beispiel zeigt zwei Funktionen, die den gleichen Namen, aber unterschiedliche Parameter haben. Der Compiler erkennt anhand der Parameter, welche Funktion mit welchem Aufruf zu verbinden ist.

[Überladene Funktionen (overload.cpp)]

#include <iostream>
using namespace std;

void Anzeigen(int  i)
{
    cout << "int: " << i << endl;
}

void Anzeigen(double  f)
{
    cout << "double: " << f << endl;
}

int main()
{
    Anzeigen(12); // ruft die erste Funktion (12 ist int)
    Anzeigen(2.5); // ruft die erste Funktion (2.5 ist float)
}


Informatik-Ecke Einstieg in C++ (C) Copyright 2005 Arnold Willemer