C++、函数重载

一、C++中的函数

1、函数重载
1)什么是函数重载
在C++中,只要函数的参数列表不同,函数名可以相同,这些同名函数构成重载关系。
2)函数重载的机制
C++的代码在编译时函数的参数类型会添加到函数名中,最终生成的函数名并不相同,也就是C++的函数在编译过程中经历的换名的过程。
注意:如果两个函数名真的一样,一定会冲突。
3)extern “C” {}
告诉C++编译器按照C语言的方式声明函数,这样C++就可以调用C编译器编译出的函数了(C++目标文件可以与C目标文件合并生成可执行程序)。
4)重载和作用域
同一作用域下的同名函数才构成重载关系,不同于作用域(父子)下的同名函数构成隐藏关系。
5)重载的解析过程
当调用函数时,编译器会根据实参和形参的类型的匹配情况,选择一个确定的重载版本,这个过程叫重载解析。
实参和形参的匹配,情况有三种:
①找到最佳的匹配函数,编译器直接生成调用代码。
②找不到匹配函数,编译器将显示错误信息。
③找不到匹配函数,但实参经过类型提升,有一个比较合适的,编译器将生成调用代码。
编译器找到多个匹配函数,但没有最佳的,此时会产生二义性错误,这种错误解决方案是调整是参类型。
6)确定重载函数的步骤
①候选函数:函数调用的第一步就是确定所有的同名函数。
②选择可行性函数:从候选函数中选择一个或多个函数&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值