1、rtype name(type p1,type p2)
其中,rtype为函数返回类型,neme是函数名,type是形式参数的类型,p1、p2是形参名。
2、相同点:函数名(一般情况下,功能也相同)
不同点:参数个数不同或者参数类型不同;(必须具有不同的参数表,仅有返回值类型不同是不对的)
例如:
int h(int x);
double h(double x);
int h(int x,int y);
int h(int x);
double h(int x);//只有返回类型不同是错误的;
int abb(int i,int j);与int abb(int *i,int *j)不同,因为两者有不同有不同的参数类型,后者为指针类型。
3、可以有精度损伤,因为有相容性。
#include <iostream>
#include <string>
using namespace std;
double sum(double x,double y);
{
return x+y;
}
int main()
{
cout <<sum(1,2)<<endl;//有精度损伤也可以,因为具有相容性;
cout<<sum(1.2,3.4);
return 0;
}
4、函数重载实现多态性:单接口(函数名相同),多实现。
5、一般用了重载就不要用默认参数,避免出现二义性。