函数重载
一.函数重载定义
函数重载是一种特殊情况,C++允许在同一作用域中声明几个类似的同名函数,这些同名函数的形参列表(参数个数,类型,顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。
在C++中,函数名可以重载,运算符也可以重载,例如<<>>可以用做移位运算符,也可以用作输出输入。
注意:重载函数的参数个数,参数类型或参数顺序三者中必须有一个不同
#include
using namespace std;
int main()
{
int max(int a, int b, int c);
int max(int a, int b);
int a = 10;
int b = 20;
int c = 30;
cout << max(a, b, c) << endl;
cout << max(a, b) << endl;
system("pause");
return 0;
}
int max(int a, int b, int c)
{
if (b > a)
a = b;
if (c > a)
a = c;
return a;
}
int max(int a, int b)
{
return (a > b) ? a : b;
}
函数重载的规则及作用
函数名称必须相同。
参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。
函数的返回类型可以相同也可以不相同。
仅仅返回类型不同不足以成为函数的重载。
重载函数通常用来在同一个作用域内 用同一个函数名 命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。