函数重载

  函数重载是函数的一种特殊情况,c++允许在同一作用域中声明几个功能类似的函数
构成函数重载的条件是:
   1、作用域必须相同
   2、函数名必须相同
   3、参数列表不同(参**数个数不同,参数类型不同,参数类型次序不同)
返回值可同或不同
   (注:但是只有返回值不同其他全都相同不能构成函数重载)
   这里写图片描述
这里写图片描述
可以看到只有返回值不同时不能构成函数重载
调用函数时必须要给出对应的参数才能调用到相应的函数

为什么C++支持函数重载而C语言不支持函数重载呢?
  这是因为成c++经过编译器编译之后会给函数重新修饰一个函数名(通过返回值,参数类型,参数类型顺序生成)  而C语言则生成一个_函数名。例如:
  int Add(int ,int)这个函数  vs2013环境下
  c++风格返回了 ?Add@@YAHHH@Z
  而C风格下返回了 _Add
所以C语言不支持函数重载,因为编译器不知道要调用哪个函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值