【C/C++】函数重载注意事项

函数重载概述

函数重载满足条件:

  • 同一个作用域下
  • 函数名称相同
  • 函数参数类型不同 或者 个数不同 或者 顺序不同

注意: 函数的返回值不可以作为函数重载的条件。

函数重载注意事项

  • 引用作为重载条件
  • 函数重载碰到函数默认参数
c 复制代码
//函数重载注意事项
//1、引用作为重载条件

void func(int &a)	// int& ref = 10; 不合法
{
	cout << "func (int &a) 调用 " << endl;
}

void func(const int &a)	// 编辑器优化:int temp = 10; const int& a = temp;
{
	cout << "func (const int &a) 调用 " << endl;
}


//2、函数重载碰到函数默认参数

void func2(int a, int b = 10)
{
	cout << "func2(int a, int b = 10) 调用" << endl;
}

void func2(int a)
{
	cout << "func2(int a) 调用" << endl;
}

int main() {
	
	int a = 10;
	func(a); //调用无const
	func(10);//调用有const


	//func2(10); //碰到默认参数产生歧义,需要避免

	system("pause");

	return 0;
}
相关推荐
qq_22589174665 分钟前
基于Python+Django餐饮评论大数据分析与智能推荐系统 毕业论文
开发语言·后端·python·信息可视化·数据分析·django
普通网友15 分钟前
分布式锁服务实现
开发语言·c++·算法
普通网友16 分钟前
移动语义在容器中的应用
开发语言·c++·算法
电摇小人37 分钟前
科学备赛今年NOIP!!
java·开发语言
2301_8035545242 分钟前
每日做面经-25.11.16
开发语言
teacherlg42 分钟前
Source Insight 乱码问题解决
c++·乱码·编码·sourceinsight
菜鸟-011 小时前
上位机---QT
开发语言·qt
她说彩礼65万1 小时前
C# Lambda 表达式
开发语言·c#
Bug快跑-11 小时前
Java、C# 和 C++ 并发编程的深度比较与应用场景
java·开发语言·前端
2501_941111461 小时前
高性能计算集群部署
开发语言·c++·算法