C ++中的函数重载和返回类型

在同一个作用域中,可以为同一个函数名具有多个定义。函数的定义必须在参数列表中的参数类型和/或数量上彼此不同。您不能重载仅在返回类型上有所不同的函数声明。

函数重载基本上是编译时多态。它检查功能签名。如果签名不相同,则可以重载它们。函数的返回类型不会对函数重载产生任何影响。具有不同返回类型的相同函数签名将不会被重载。

以下是使用相同功能print()打印不同数据类型的示例

范例程式码

#include <iostream>
using namespace std;
class printData {
   public:
      void print(int i) {
         cout << "Printing int: " << i << endl;
      }
      void print(double f) {
         cout << "Printing float: " << f << endl;
      }
      void print(char* c) {
         cout << "Printing character: " << c << endl;
      }
};
int main(void) {
   printData pd;
   pd.print(5); // Call print to print integer
   pd.print(500.263); // Call print to print float
   pd.print("Hello C++"); // Call print to print character
   return 0;
}

输出结果

Printing int: 5
Printing float: 500.263
Printing character: Hello C++