一、c++中的函数重载:
1、函数重载的概念:
用同一个函数名定义不同的函数
当函数名和不同的参数搭配时函数的含义不同
注意:在c语言中是没有函数重载这个概念的。
代码示例演示:
上面在c++编译器里面编译时没有问题的,如果放在c语言编译器里面编译是会报错的:
所以说c语言里面不支持函数重载。
2、函数重载至少要满足下面的一个条件:
参数个数不同
参数类型不同
参数顺序不同
比如下面两个函数可以构造重载函数吗?
答案肯定是可以构造重载函数的,读者可以自己试试(这个比较好理解)。
3、当函数默认参数遇上函数重载会发生什么?
例如下面的两个函数:
到底会发生啥,我们还是看下面这个实验:
运行结果:
从上面报错的结果里面有一个单词ambiguous(意思是梦棱两可的),也就是说默认参数这种使用时不允许的。
4、c++编译器调用重载函数的准则:
将所有同名函数作为候选者
尝试寻找可行的候选函数:
精确匹配实参
通过默认参数能够匹配实参
通过默认类型转换匹配实参
匹配失败:
最终寻找到的候选函数不唯一,则出现二义性,编译失败
无法匹配所有候选者,函数未定义编译失败
5、函数重载的注意事项:
重载函数在本质上是相互独立的不同函数
重载函数的函数类型不同
函数返回值不能作为函数重载的依据
函数重载是由函数名和参数列表决定的
代码测试:
运行结果:
从输出结果我们可以看出这两个函数的入口地址不一样,这表明这两个函数是不同的函数。
6、小结:
函数重载是c++中引入的概念
函数重载的本质是相互独立的不同函数
c++中通过函数名和函数参数确定函数调用
AFN块体单晶的湿法蚀刻和红外吸收研究报告
西门子PLC 1214 DC/DC/DC输出接线图解
施工现场扬尘在线监测系统助力改善空气质量
年产量1.2亿部!三星在印度建立最大手机制造工厂 欲重新夺回印度市场第一
液压系统压力上不去
C++之重载函数学习总结
保护电动车心脏五招
联想发布YOGA Pro 14c 2021变形本,4K翻转触控屏i7-1185G7+PCIe 4.0 SSD
苹果的邀请函一个和Apple Park相似的圆形图案,在暗示AirPower无线充电枕?
GE发布2021年年报
LED检测企业远方光电因围标串标被罚6万元
树莓派获得 Arm 战略性投资,进一步扩展长期合作伙伴关系
“芯片之城” 澳门城市新名片
Marconi协议将为区块链提供更高级别的安全性
三星豪赌5G移动网络 2022年计划销售86亿美元
机动车市场降温 文思海辉出招成车制造厂商
通过计算机视觉和深度学习技术分析面部表情的方法
稳联profinet转rs232中如何区分Modbus和Rs232的区别认识rs485Modbus
联发科确认将出LTE基带:价格屠夫?
为何小米更愿意说自己是互联网公司?