目录
1、概念:
函数重载是函数的一种特殊情况,C++允许咋同意作用域中声明几个功能内类似的同名函数,这些同名函数的形参个数、形参类型、形参顺序不同。、
2、函数形参类型不同:
两个同名函数中形参的类型不同,就可形成重载。要注意的是,重载判断的是参数,和函数的返回值无关。
//参数类型不同
int Add(int left, int right)
{
cout << "int Add(int left, int right):"<< endl;
return left + right;
}
double Add(double left, double right)
{
cout << "double Add(int left, int right):" << endl;
return left + right;
}
下图中将鼠标放在同名函数上,就会提示有一个重载。
3、参数个数不同
//参数个数不同
void fuction()
{
cout << "fuction()" << endl;
}
void fuction(int a)
{
cout << "fuction(int a)" << endl;
}
执行结果:
4、参数类型顺序不同:
//参数类型顺序不同
void f(int a, char b)
{
cout << "f(int a, char b)" << endl;
}
void f(char b, int a)
{
cout << "f(int a, char b)" << endl;
}
与此同时,如果将上述的所有重载类型中的函数都改成同一个名字,就会发现,这些函数都成为了函数重载。所以重载的情况不局限于上述三种的某一种。