c++ 函数重载-爱代码爱编程
什么是函数重载?
对于同一作用域中存在的几个函数,如果它们函数名相同,但是参数列表不同,我们称之为函数重载。
参数列表不同体现在:函数参数的类型/个数/顺序至少其中一个不同,这也是对函数进行重载需要遵循的规则。
注意:仅仅靠返回类型不同不能构成函数重载。
#include<iostream>
using namespace std;
// 参数类型不同的add
int Add(int left, int right)
{
return left + right;
}
double Add(double left, double right)
{
return left + right;
}
long Add(long left, long right)
{
return left + right;
}
// 参数顺序不同的Func
void Func(int i, char ch)
{
cout << "int:" << i << " ch:" << ch << endl;
}
void Func(char ch,int i)
{
cout << "ch:" << ch << " int:" << i << endl;
}
int main()
{
Add(10, 20);//10默认整型
Add(10.0, 20.0);
Add(10L, 20L);//加L指定识别为long
int i = 1;
char ch = 'a';
Func(i, ch); // 输出 int:1 ch:a
Func(ch, i); // 输出 ch:a int:1
return 0;
}
函数重载的使用时机:
函数重载可以一定程度上减轻我们起名字的负担,但是不同的函数名字反而可以使得我们更好的记忆函数的功能(顾名思义)。因此,一般来说我们是否后使用函数重载还是要看怎样更容易理解记忆。