c++中允许两个函数有相同的函数名,但函数的参数列表不同,这就是函数重载。
为什么在程序中要使用具有相同名称的函数。仅当函数在执行近似相同的任务,但却需要使用不同类型的数据时,才可使用函数重载,下面举个例子
void sum(int a,int b);
void sum(double a,double b);
void sum(float a,float b);
在进行求和运算时,将两数相加。这两个数据有多个不同的数据类型,在c语言中,就需要编写多个不同的函数,其实完全没有必要。C++提供了函数重载,只要改变参数列表中参数的类型即可,不用重新编写函数。参数列表中包含了参数的类型、参数的个数。只有参数的类型和个数都相同时,参数列表才相同。
举例:不同类型的两数求和
#include<iostream>
using namespace std;
void sum(int a,int b)
{
cout<<"The result is:"<<a+b<<endl;
}
void sum(double a,double b)
{
cout<<"The result is:"<<a+b<<endl;
}
void sum(float a,float b)
{
cout<<"The result is:"<<a+b<<endl;
}
int main()
{
int a1 = 30, a2 = 40;
sum(a1,a2);
double b1=10.55 , b2=20.55;
sum(b1,b2);
float c1=10.5 , c2=20.5;
sum(c1,c2);
return 0;
}