عملکرد بیش از حد(Function Overloading)


بابارگذاری بیش از حد تابع، چندین تابع می‌توانند نام یکسان و متفاوت داشته باشند
پارامترها:



مثال



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




مثال زیر را در نظر بگیرید، که دارای دو تابع است که اعداد از انواع مختلف را اضافه می کند:



مثال



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






به جای تعریف دو تابع که باید یک کار را انجام دهند، بهتر است یکی را بیش از حد بارگذاری کنید.


در مثال زیر، تابع plusFunc را اضافه بارگذاری می کنیم تا برای هر دو int کار کند.
و دبل:



مثال



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





توجه: چندین تابع می‌توانند نام یکسانی داشته باشند
تا زمانی که تعداد و/یا نوع پارامترها متفاوت باشد.