C++ 函数重载


函数重载

函数重载,多个函数可以具有相同的名称和不同的参数:

示例

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功能适用于两者intdouble:

示例

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;
}
亲自试一试 »

笔记:只要参数的数量和/或类型不同,多个函数就可以具有相同的名称。