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 plusFuncfonction 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.