C++ Functie Overbelasting
Functie Overbelasting
Bij functieoverbelasting kunnen meerdere functies dezelfde naam hebben met verschillende parameters:
Voorbeeld
int myFunction(int x)
float myFunction(float x)
double
myFunction(double x, double y)
Beschouw het volgende voorbeeld, dat twee functies heeft die getallen van verschillende typen optellen:
Voorbeeld
int plusFuncInt(int x, int y) {
return x + y;
}
double plusFuncDouble(double x, double y) {
return x + y;
}
int main() {
int myNum1 = plusFuncInt(8,
5);
double myNum2 = plusFuncDouble(4.3, 6.26);
cout <<
"Int: " << myNum1 << "\n";
cout << "Double: " << myNum2;
return 0;
}
In plaats van twee functies te definiëren die hetzelfde zouden moeten doen, is het beter om er één te overbelasten.
In het onderstaande voorbeeld overbelasten we de plusFunc
functie om voor zowel int
en te werken double
:
Voorbeeld
int plusFunc(int x, int
y) {
return x + y;
}
double plusFunc(double x, double y) {
return x + y;
}
int main() {
int myNum1 = plusFunc(8,
5);
double myNum2 = plusFunc(4.3, 6.26);
cout << "Int: " <<
myNum1 << "\n";
cout << "Double: " << myNum2;
return 0;
}
Let op: Meerdere functies kunnen dezelfde naam hebben zolang het aantal en/of type parameters maar verschillend zijn.