C++之函数重载

在自然语言中,一个词可以代表多种不同的含义,需要依赖上下文来确定。这就是所谓的一次多意。反映到程序中就是重载。

比如,我们说“开车”时,针对不同的车的类型(自行车、小汽车),但是所使用的方法截然不同。同样,在编程中我们可以对不同的功能赋予相同的函数名,编译时会根据上下文(实参的类型和个数)来确定使用的是哪一具体功能。

1、函数重载的定义

两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器会根据实参和形参的类型以及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。

2、为什么要使用函数重载?

如果没有重载,那么对不同类型的数据进行相同的操作也需要定义名称完全不同的函数,例如定义加法函数,就必须对整数的加法和浮点数的加法使用不同的函数名:

int iadd(int x, int y);
float fadd(float x, float y);
这在调用时十分不方便。

所以C++允许功能相近的函数使用相同的函数名,方便使用,易于记忆。

int add(int x, int y);
int add(float x, float y);
int add(int x, int y, int z);

3、注意:

1)重载函数的形参必须不同,要么是形参类型不同,要么是形参个数不同。

2)如果函数名相同,形参类型也相同,只是返回值类型不同,编译时会认为语法错误(函数重复定义)。





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值