函数的重载只在C++语言中有,C语言是没有的!!
一、所谓的函数的重载就是:出现在相同作用域的两个函数,名字相同,但形参不同。
重载函数的好处是:不用费心给每一个函数起名字
在调用的时候C++会智能地分辨各个函数的形参的不同
void show(int x)//形参是int
{
cout << x << endl;
}
void show(vector<int> v)//形参是向量
{
for(vector<int>::iterator iter=v.begin();iter!=V.end();iter++)
cout << *iter << endl;
}
二、使用函数重载的时候需要注意的是:
①不能依据返回类型的不同而进行重载,只能是形参不同:
比如下面的例子:上面的函数被判定为正确,但是下面的那个被视为错误
void food(int a) {}
bool food(int b) {}
②函数不能仅仅基于不同的返回值类型而实现重载
三、何时不使用函数的重载
有时候我们需要明确的知道函数的具体功能是什么,因此不同的函数名能轻易的辨别函数的具体功能,此时最好不要使用重载函数。