重载函数

先来看一个最简单的例子

#include "stdafx.h"

double sum(double a, double b)
{
	printf("double 被调用\r\n");
	return a+b;
}
int sum(int a, int b)
{
	printf("int 被调用!\r\n");
	return a+b;
}


int main(int argc, char* argv[])
{
	sum(1,2);
	sum(1.1,2.2);
	return 0;
}


大家想一个问题,为啥能被正确的调用?虽然函数名字相同?

想过之后,大家通常会看到有的书这么说。

重载函数,不能以返回值来衡量,只能靠他的参数列表!

参数列表中的const限定符也不可以?这是为什么?

 

 

这个是因为 要调用一个函数,必须确定这个函数的唯一性,如果两个函数一个返回 int 一个返回 int *

但是这两个都是整数,你无法确定到底调用哪个!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值