定义:在同一作用域中用同一函数名定义多个函数,这些函数的参数个数和参数类型不相同,这些同名的函数用来实现不同的功能。这就是函数的重载,即一个函数名多用。
正确示范 int Add(int x,int y);
double Add(double x,double y); //函数名相同参数类型不同
错误示范 int Add(int x,int y);
{
return x+y;
}
double Add(int x,int y); //重载函数非法
{
return x+y; //返回值的函数类型不能用于区分重载函数
}
参数的个数和类型可以都不同。重载函数的参数个数或类型必须至少有其中之一不同。
函数返回值类型可以相同也可以不同。但不允许参数个数和类型都相同而只有返回值类型不同,因为系统无法从函数的调用形式上判断哪一个函数与之匹配。
#include<iostream>
using namespace std;
int Add(int x,int y)
{
cout << "int add" << endl; //定义第一个重载函数
return x+y;
}
double Add(double x,double y)
{
cout << "double add" << endl; //定义第二个重载函数
return x+y;
}
int main()
{
int ivar = Add(5,2); //调用第一个Add函数
float fvar = Add(10.5,11.4); //调用第二个Add函数
return 0;
}