C+++函数重载

  c++语言中提供了对函数重载的支持,是我们在编程时可以对不同的功能赋予相同的函数名,编译时会根据上下文(实参的类型和个数)来确定使用哪一个具体功能。

  两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。

  如果没有重载机制,那么对不同类型的数据进行相同的操作也需要定义名称不同的函数。例如定义加法,就必须定义对证书的加法和浮点数的加法使用不同的函数名:

int iadd(int x, int y);
float fadd(float x, float y);

这在调用时实在是不方便。

  C++允许功能相近的函数在相同的作用域内以相同的函数名定义,从而形参函数重载。方便使用,便于记忆。

注意   重载函数的形参必须不同:个数或者类型不同。编译程序对实参和形参的类型及个数进行最佳匹配,来选择调用哪一个函数。如果函数名相同,形参类型也相同(无论函数返回值类型是否相同),在编译是会被认为是语法错误(函数重复定义)。

原文地址:https://www.cnblogs.com/prayer521/p/5763864.html