Surcharge de fonctions C++
Surcharge de fonction
Avec la surcharge de fonctions , plusieurs fonctions peuvent avoir le même nom avec des paramètres différents :
Exemple
int myFunction(int x)
float myFunction(float x)
double
myFunction(double x, double y)
Considérez l'exemple suivant, qui a deux fonctions qui additionnent des nombres de type différent :
Exemple
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;
}
Au lieu de définir deux fonctions qui doivent faire la même chose, il vaut mieux en surcharger une.
Dans l'exemple ci-dessous, nous surchargeons la plusFunc
fonction pour qu'elle fonctionne à la fois pour int
et double
:
Exemple
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;
}
Remarque : Plusieurs fonctions peuvent avoir le même nom tant que le nombre et/ou le type de paramètres sont différents.