一 定义
函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型不同的问题,这个问题和c语言中的不一样,这也是有特殊的含义
二 类型
1.参数类型不同
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(double left, double right)" << endl;
return left + right;
}
其中int和double种类不同,从而形成重载函数。
2.参数个数不同
void f()
{
cout << "f()" << endl;
}
void f(int a)
{
cout << "f(int a)" << endl;
}
其中f()里面的内容不同,会影响函数发生函数重载。
3.参数类型顺序不同
void f(int a, char b)
{
cout << "f(int a,char b)" << endl;
}
void f(char b, int a)
{
cout << "f(char b, int a)" << endl;
}
其中f()里面的类型不同,而c++有方法,但c语言肯定是不行的。
三 区别
通过这里就理解了C语言没办法支持重载,因为同名函数没办法区分。而C++是通过函数修 饰规则来区分,只要参数不同,修饰出来的名字就不一样,就支持了重载。
综上。
函数重载的三个条件是:
1.函数名相同
2.参数类型不同、参数个数不同或者参数顺序不同。
3.同一个作用域下
注意:如果两个函数函数名和参数是一样的,返回值不同是不构成重载的,因为调用时编译器没办法区分
四 结语
这是我们一开始会用到的关于函数重载的知识,我们要学的c++概念还有很多,慢慢来。目前就入门了这么点内容,如果文章有错误的地方,各位老铁们评论区指出来(写的可能不是特别好),多多关照,以后会持续更新C++的博客内容,感谢大家的支持。