Menu
Coddy logo textTech

Funktionsüberladung

Teil des Abschnitts Grundlagen der C++-Journey von Coddy — Lektion 54 von 74.

Funktionsüberladung ist ein Konzept in C++, bei dem zwei oder mehr Funktionen denselben Namen, aber unterschiedliche Parameter haben können. Wenn Sie eine überladene Funktion aufrufen, bestimmt der C++-Compiler die am besten geeignete Definition, indem er die im Aufruf verwendeten Argumenttypen mit den in den Definitionen angegebenen Parametertypen vergleicht. Wenn keine passende Funktion gefunden wird, erzeugt der Compiler einen Fehler.

Hier ist ein Beispiel für Funktionsüberladung:

int add(int a, int b) {
	return a + b;
}
double add(double a, double b) {
	return a + b;
}
int main() {
	int sum1 = add(5, 3); // Ruft die erste Version von add auf
	double sum2 = add(2.5, 3.7); // Ruft die zweite Version von add auf
    return 0;
}

In diesem Beispiel haben wir zwei Funktionen namens add. Eine nimmt zwei int Parameter entgegen, und die andere nimmt zwei double Parameter entgegen. Abhängig von den Typen der Argumente, die wir an add übergeben, wird die entsprechende Version der Funktion aufgerufen.

Es ist wichtig zu beachten, dass der Rückgabetyp allein nicht ausreicht, um eine Funktion zu überladen. Die Funktionen müssen sich in ihren Parameterlisten unterscheiden.

Spickzettel

Funktionsüberladung ermöglicht mehrere Funktionen mit demselben Namen, aber unterschiedlichen Parametern. Der Compiler wählt die entsprechende Funktion basierend auf den Argumenttypen aus:

int add(int a, int b) {
	return a + b;
}
double add(double a, double b) {
	return a + b;
}
int main() {
	int sum1 = add(5, 3); // Ruft die int-Version auf
	double sum2 = add(2.5, 3.7); // Ruft die double-Version auf
    return 0;
}

Funktionen müssen sich in ihren Parameterlisten unterscheiden – der Rückgabetyp allein reicht für eine Überladung nicht aus.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen