Überladen von Funktionen
Willemers Informatik-Ecke
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)
}