前言:C++中除了可以在不同的命名空间中使用同名函数,还有一种支持在同一个作用域中同名函数的方式——函数重载。
函数重载
- 一.什么是函数重载?
- 二.函数重载的3种规则
- 三.特殊情况
一.什么是函数重载?
C++允许同样同一作用域中声明几个功能相似的同名函数,常用来处理实现功能类似数据类型不同的问题。
二.函数重载的3种规则
1.类型不同‘
2.类型顺序不同
3.类型数量不同
注意!!!:
1.返回值类型不同并不能构成函数重载
2.形参是随你喜好取名的,所以形参不同并不能构成函数重载
举例:
//一
double Func(int x, double y)
{cout << x+y << endl;
}
//二
double Func(int x, double y, int z)
{cout << x + y + z << endl;
}
//三
double Func(double x, int y)
{cout << x + y << endl;
}//返回值类型跟三不同,不能构成函数重载。
//int Func(double x, int y)
//{
// cout << x + y << endl;
//}int main()
{Func(1, 2.2); //一Func(1, 1.1, 2); //二Func(1.1, 2); //三return 0;
}
控制台输出如下:
三.特殊情况
遇到过的特殊情况,特此描述一下:
前面我们学过了缺省参数,那么以下情况可以运行吗?
void Func(int x, int y)
{cout << x+y << endl;
}
void Func(int x, int y, int z = 10)
{cout << x + y + z << endl;
}
int main()
{Func(1, 2); return 0;
}
该处的Func()既可以是第一个,也可以是第二个,因此存在歧义,编译器会报错。
文末BB:对哪里有问题的朋友,尽管在评论区留言,若哪里写的有问题,也欢迎朋友们在评论区指出,博主看到后会第一时间确定修改。最后,制作不易,如果对朋友们有帮助的话,希望能动动你们发财的小手给点点赞和关注.