为什么要使用函数重载
先附上我立知的结果。
1、减少对用户的复杂性。
2、这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。
重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。
作用一:减少对用户的复杂性
这点是很好理解的,为了方便开发,若具有相同功能但针对类型不同的函数过多,就会导致编程人员存在过多的时空花销。但是针对用户,我就也不太清楚了。
作用二
列出一下几个求和函数:
sum(int a,int b) //不写返回类型,返回整型
double sum(double a,double b)
float sum(floata,float b,float c)
针对下面的语句是不同的调用
int x=sum(2,8);
float y=sum(5.6,11.1);
float z=sum(float(x),y,5);
顺带就说下重载函数的要求:
当调用到重载函数时,编译器根据实参的类型对应地调用相应的函数。匹配过程按如下步骤进行:
(1)如果有参数严格匹配(参数个数、类型完全一致)的函数,就调用该函数;
(2)参数通过内部类型转换后匹配,调用该函数;
(3)参数通过用户定义的类型转换寻求匹配。
在定义重载函数时必须保证参数个数或类型不同,仅仅返回值类型不同是不行的。
来源:https://www.cnblogs.com/Xivie-cnblog/p/11529594.html