重载函数

来源:互联网 发布:查看mysql权限设置 编辑:程序博客网 时间:2024/06/16 07:50

先来看一个最简单的例子

#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 *

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