弱弱的问下,我写的这个c++小程序叫不叫函数重载啊?谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:01:02
#include<iostream>
using namespace std;

int val(int a,int b);
double val(double c,double d);

int main()
{
int a=5;
int b=6;
double c=3.4;
double d=4.8;
cout << val(a,b) <<endl;
cout << val(c,d) <<endl;
system("pause");
}
int val(int a,int b)
{ int sum;
sum=a+b;
return sum;
}
double val(double a,double b)
{ double sum;
sum=a+b;
return sum;
}
如果算,这样写有什么好处吗?貌似很麻烦啊!如果不算,给我讲下为什么不算吧。
谢谢谢谢!十分感谢能指点迷津!

你以后调用函数时,如果输入的参数是int,它就自动调用
int val,返回的数就是int,输入的参数是double,它就调用double val,返回的是double值,
不然的话,你只定义一个int val,那在程序中用val(1.2,2.3)就是非法的,重载后,就val(1,2),和val(1.2,2.3)都是合法的。为什么要定义两个呢,是因为肯定有程序时要进行两种数据类型的运算的,而且他们的运算公式是一样的,这样重载后用同一个函数名就可以实现两种数据类型的运算,方便理解。如果没有重载的功能的话,你只能定义两个函数,用不同的名字,分别进行这种相同的运算。名字一多就不方便程序员理解。

是重载函数,重载的好处是你只需要记住函数名,而不需要记住参数的名称。比如你这个加法的函数,你在main中只需要调用val函数就可以了,不用管参数是int 还是double了。

是,小程序是体现不出来的,当你有上百个函数的时候,就知道了,必须要重载函数,不然是记不住函数名字的

算的,其实重载函数只是C++的一个功能而已,有的时候,需要这样做,当然,不重载完全可以。函数重载功能可以令程序更易于阅读和理解。

当然是了,当函数名相同的情况下,只要参数的类型或者个数不同就是重载

怕麻烦就用类模板吧!应该好用一点。不过不容易理解。