capypad
0 Tage Serie
cpp / beginner
Snippet

Funktionsueberladung: Mehrere Funktionen mit demselben Namen

Funktionsueberladung erlaubt mehrere Funktionen mit demselben Namen, aber unterschiedlichen Parametertypen. Der Compiler bestimmt, welche Funktion aufgerufen wird, basierend auf den Argumenttypen. Dies verbessert die Codeleserlichkeit durch beschreibende Namen fuer aehnliche Operationen. Jede ueberladene Funktion muss eine eindeutige Parametersignatur haben.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
int add(int a, int b) {
std::cout << "Using int version" << std::endl;
return a + b;
}
 
double add(double a, double b) {
std::cout << "Using double version" << std::endl;
return a + b;
}
 
std::string add(std::string a, std::string b) {
std::cout << "Using string version" << std::endl;
return a + b;
}
 
int main() {
std::cout << add(5, 3) << std::endl;
std::cout << add(2.5, 3.7) << std::endl;
std::cout << add(std::string("Hello "), std::string("World")) << std::endl;
return 0;
}
Erklärung
1
int add(int a, int b)
Integer-Version der add-Funktion
2
double add(double a, double b)
Unterschiedliche Parametertypen erstellen ein Ueberladung
3
std::string add(std::string a, std::string b)
String-Version erlaubt Konkatenation mit dem +-Operator