定义:两个以上的函数,取相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。
#include <iostream>
using namespace::std;
int square(int x)
{
cout << __FILE__ << __LINE__ << __func__ << endl;
return x*x;
}
float square(float x)
{
cout << __FILE__ << __LINE__ << __func__ << endl;
return x*x;
}
double square(double x)
{
cout << __FILE__ << __LINE__ << __func__ << endl;
return x*x;
}
int main()
{
cout << "square(10) " << square(10) << endl;
cout << "square(2.5f) " << square(2.5f) << endl;
cout << "square(1.1) " << square(1.1) << endl;
return 0;
}
编译器不以形参名、返回值来区分。