前言:C语言不允许函数重名,这给程序员带来了不少的麻烦。
例如:
(1)写一个函数,求2个数中的最大值
double find_max(double a,double b);
(2)写一个函数,求3个数中的最大值
double find_max(double a,double b,double c);
find_max是个好名字,但是已经被占用了。
二、函数名重载
在C++中,允许两个的函数名相同,但参数列表不同,称为“函数名重载”。
参数列表相同:参数个数相同且参数类型相同。
举例:
以下两个函数不同,因为参数个数不同
double find_max(double a,double b);
double find_max(double a,double b,double c);
以下两个函数不同,因为参数类型不同
double find_max(double a,double b);
double find_max(int a,int b);
只比较个数和类型 与参数名称没关系
//以下两个函数相同
double find_max(double a,double b);
double find_max(double c,double d);
注意:函数返回类型不同,不可以重载
//以下两个函数相同,和返回值无关
double find_max(double a,double b);
int find_max(double a,double b);

本文详细解析了C++中的函数名重载机制,对比C语言,C++允许使用相同的函数名,只要参数列表不同即可。通过实例展示了参数个数和类型如何决定函数的不同,强调了函数返回类型不影响重载特性。
3241

被折叠的 条评论
为什么被折叠?



