在编程时一般是一个函数对应一个功能,但是有时候我们需要实现懂得是同一个功能,只是有些细节不一样。例如该题,都是求圆的面积,但是要求输入的半径r的数据类型不同,所以只要修改细节部分就可以重复使用这个函数即使用函数重载。
这道题目首先要理解的是什么是函数重载!!!!
在c++中允许用同一个函数名定义多个函数,而这些函数的参数个数和参数类型可以不一样。这就是函数重载,即对一个函数名重新定义它的含义,实现一物多用。
#include#include //因为用到兀。故需要应用math头文件 #define M_PI 3.14 //定义兀 using namespace std; int main() { int area(int r); //对函数调用进行声明 double area(double r); int r1,s1; cin>>r1; s1=area(r1); cout<<"整数面积是:"< >r2; s2=area(r2); cout<<"实数面积是:"< 以上代码运行结果:
函数重载的规则:
函数名称必须相同。
参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。
函数的返回类型可以相同也可以不相同。
仅仅返回类型不同不足以成为函数的重载。
函数重载的作用:
重载函数通常用来在同一个作用域内 用同一个函数名 命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。



