函数重载:两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数。C++允许功能相近的函数在相同的作用域内以相同函数名定义,从而形成重载。
注:重载函数的形参必须不同(个数或者类型不同)。编译程序对实参和形参的类型及个数进行最佳匹配,来选择调用哪一个函数。例如:
//形参类型不同
int add(int x, int y);
int add(double x, double y);
//形参个数不同
int fun(int x, int y);
int fun(int x);
当使用具有默认形参值的函数重载形式时,需要注意防止二义性。例如:
int fun(int x, int y=0);
int fun(int x);
此时在编译时,无法区别为不同的函数重载形式。