前言: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);