【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;
}
相关推荐
IT猿手6 分钟前
2025高维多目标优化:基于导航变量的多目标粒子群优化算法(NMOPSO)的无人机三维路径规划,MATLAB代码
开发语言·人工智能·算法·机器学习·matlab·无人机·cocos2d
呱牛do it10 分钟前
Python Matplotlib图形美化指南
开发语言·python·matplotlib
pianmian113 分钟前
python制图之小提琴图
开发语言·python·信息可视化
水瓶丫头站住14 分钟前
Qt中QRadioButton的使用
开发语言·qt
非 白20 分钟前
【Java】代理模式
java·开发语言·代理模式
知识分享小能手26 分钟前
Html5学习教程,从入门到精通,HTML5 简介语法知识点及案例代码(1)
开发语言·前端·javascript·学习·前端框架·html·html5
muxue17829 分钟前
go:运行第一个go语言程序
开发语言·后端·golang
米饭好好吃.30 分钟前
【Go】Go wire 依赖注入
开发语言·后端·golang
闲猫30 分钟前
go 接口interface func (m Market) getName() string {
开发语言·后端·golang
可爱de艺艺31 分钟前
Go入门之struct
开发语言·后端·golang