【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;
}
相关推荐
Albert Edison1 小时前
【Python】学生管理系统
开发语言·数据库·python
会周易的程序员3 小时前
cNetgate物联网网关内存数据表和数据视图模块架构
c语言·c++·物联网·架构·lua·iot
爱编码的小八嘎4 小时前
第3章 Windows运行机理-3.1 内核分析(6)
c语言
宇木灵4 小时前
C语言基础-十、文件操作
c语言·开发语言·学习
云泽8084 小时前
C++ 多态入门:虚函数、重写、虚析构及 override/final 实战指南(附腾讯面试题)
开发语言·c++
仰泳的熊猫5 小时前
题目1535:蓝桥杯算法提高VIP-最小乘积(提高型)
数据结构·c++·算法·蓝桥杯
yanghuashuiyue5 小时前
lambda+sealed+record
java·开发语言
闻缺陷则喜何志丹5 小时前
【前后缀分解】P9255 [PA 2022] Podwyżki|普及+
数据结构·c++·算法·前后缀分解
yzx9910136 小时前
Python数据结构入门指南:从基础到实践
开发语言·数据结构·python
消失的旧时光-19436 小时前
智能指针(二):机制篇 —— 移动语义与所有权转移
c++·智能指针