【C++】简述函数重载

1、为什么用函数重载

写一个求两个数的和的代码

#include<stdio.h>

int Sum(int a, int b)
{
	return a + b;
}

int main()
{
	Sum(10, 20);//ture
	Sum(10.8,20.7);//第二种
	return 0;
}

如果用第二种的话就会导致结果精度不准确,有人说可以用以下两种解决方式:
(1)泛型 void*,它是不安全,void*只指向了第一个字节的地址,但是不知道这个数据的长度,所以也没办法进行直接操作。在使用时是要自行手动设计的,但是在设计时也并不知道使用时要用怎样的数据,所以存在不安全性
(2)宏函数
给函数操作前加上#define max(a,b) a>b?a:b,但是宏是在预编译阶段处理的,它是直接文本替换的过程没有经过编译阶段的类型检查和安全检查,所以宏也是不安全的
所以就要用到函数重载

2、函数重载

(1)函数符号生成规则:

如果想要在一个文件中同时使用下面两个函数体

int Sum(int a,int b);
double Sum(double a,double b);

C语言中,函数符号生成规则只和函数名有关,所以C语言认为同一个符号不能表示不同的函数,会报错
C++中,函数符号生成规则与函数原型有关,也就是与函数返回值、函数名称、函数的形参有关。
在这里插入图片描述

(2)函数重载的特点

①同名
②参数不同
③作用域相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值