Sovraccarico di funzioni C++


Sovraccarico di funzioni

Con l'overloading delle funzioni , più funzioni possono avere lo stesso nome con parametri diversi:

Esempio

int myFunction(int x)
float myFunction(float x)
double myFunction(double x, double y)

Considera il seguente esempio, che ha due funzioni che sommano numeri di tipo diverso:

Esempio

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;
}

Invece di definire due funzioni che dovrebbero fare la stessa cosa, è meglio sovraccaricarne una.

Nell'esempio seguente, sovraccarichiamo la plusFuncfunzione in modo che funzioni per entrambi int e double:

Esempio

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;
}

Nota: più funzioni possono avere lo stesso nome purché il numero e/o il tipo di parametri siano diversi.