Ü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)
}

Diese Seite basiert auf Inhalten aus dem Buch Arnold Willemer: Einstieg in C++
Mit freundlicher Genehmigung und Unterstützung des Verlags galileo computing


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