C+++函数重载
c++语言中提供了对函数重载的支持,是我们在编程时可以对不同的功能赋予相同的函数名,编译时会根据上下文(实参的类型和个数)来确定使用哪一个具体功能。
两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。
如果没有重载机制,那么对不同类型的数据进行相同的操作也需要定义名称不同的函数。例如定义加法,就必须定义对证书的加法和浮点数的加法使用不同的函数名:
int iadd(int x, int y); float fadd(float x, float y);
这在调用时实在是不方便。
C++允许功能相近的函数在相同的作用域内以相同的函数名定义,从而形参函数重载。方便使用,便于记忆。
注意 重载函数的形参必须不同:个数或者类型不同。编译程序对实参和形参的类型及个数进行最佳匹配,来选择调用哪一个函数。如果函数名相同,形参类型也相同(无论函数返回值类型是否相同),在编译是会被认为是语法错误(函数重复定义)。