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

亲自试一试

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