C++初阶——函数重载

前言: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;
}

控制台输出如下:

C++初阶——函数重载_第1张图片

三.特殊情况

遇到过的特殊情况,特此描述一下:
前面我们学过了缺省参数,那么以下情况可以运行吗?

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()既可以是第一个,也可以是第二个,因此存在歧义,编译器会报错。
C++初阶——函数重载_第2张图片

文末BB:对哪里有问题的朋友,尽管在评论区留言,若哪里写的有问题,也欢迎朋友们在评论区指出,博主看到后会第一时间确定修改。最后,制作不易,如果对朋友们有帮助的话,希望能动动你们发财的小手给点点赞和关注.
C++初阶——函数重载_第3张图片

你可能感兴趣的:(c++,开发语言)