【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;
}
相关推荐
游乐码18 小时前
c#继承中的构造函数
开发语言·c#
海天一色y18 小时前
用Python和Pygame从零打造植物大战僵尸:完整技术解析
开发语言·python·pygame
仰泳的熊猫19 小时前
题目1549:蓝桥杯算法提高VIP-盾神与积木游戏
数据结构·c++·算法·蓝桥杯
tod11319 小时前
C++核心知识点全解析(三)
开发语言·c++·面试经验
WW_千谷山4_sch19 小时前
MYOJ_11705:(洛谷P1137)旅行计划(经典拓扑排序)
c++·算法·动态规划·图论
Never_Satisfied19 小时前
在JavaScript / HTML中,img标签loading lazy加载时机详解
开发语言·javascript·html
FMRbpm19 小时前
string课后练习
c++·算法·新手入门
xiaoccii19 小时前
堆(顺序结构)
c语言
yyuan_in19 小时前
【已解决】VisualStudio写中文报错的解决办法
c++·visual studio
郝学胜-神的一滴19 小时前
高并发服务器开发:多进程与多线程实现深度解析
linux·服务器·开发语言·c++·程序人生