C++ 函数重载

函数重载

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

实例
  1. int myFunction(int x)
  2. float myFunction(float x)
  3. double myFunction(double x, double y)

考虑下面的实例,该实例具有添加不同类型的数字的两个函数:

实例
  1. #include <iostream>
  2. using namespace std;
  3. int plusFuncInt(int x, int y) {
  4. return x + y;
  5. }
  6. double plusFuncDouble(double x, double y) {
  7. return x + y;
  8. }
  9. int main() {
  10. int myNum1 = plusFuncInt(8, 5);
  11. double myNum2 = plusFuncDouble(4.3, 6.26);
  12. cout << "Int: " << myNum1 << "\n";
  13. cout << "Double: " << myNum2;
  14. return 0;
  15. }

与其定义两个应该做相同事情的函数,不如重载一个。

在下面的实例中,我们重载 plusFunc 函数,使其同时适用于 intdouble:

实例
  1. #include <iostream>
  2. using namespace std;
  3. int plusFunc(int x, int y) {
  4. return x + y;
  5. }
  6. double plusFunc(double x, double y) {
  7. return x + y;
  8. }
  9. int main() {
  10. int myNum1 = plusFunc(8, 5);
  11. double myNum2 = plusFunc(4.3, 6.26);
  12. cout << "Int: " << myNum1 << "\n";
  13. cout << "Double: " << myNum2;
  14. return 0;
  15. }
注意:只要参数的数量和/或类型不同,多个函数可以具有相同的名称。