c++函数重载

来源:互联网 发布:淘宝众筹能退款吗 编辑:程序博客网 时间:2024/06/03 19:44

函数原型:返回类型+函数名+参数

c++是用函数原型来区别不同函数的,而c语言是用函数名区分;

函数重载:

函数名相同,但是参数类型或者个数不同的函数(不能拿返回类型作为函数重载的依据);

char  Max(char a,  char b);

名字粉碎时,c++将名称变为:?Max@@YAHHH@Z

但是c语言变为:_Max

int  Max(int a,  int b);

c++将名称变为:?Max@@YADDD@Z

c语言将名称变为:_Max

从上面的例子可以看出,c语言将其看作同一个函数,但是c++将其看作不同函数。

 

char Max(char a ,char b);

int Max(char a ,char b);

上面两个函数调用时:Max('x','y'),无法确定需要调用哪一个函数,所以不能拿返回类型作为函数重载的依据

 

原创粉丝点击