【C++】函数重载
在c语言中,每个函数必须有一个唯一的名字,这样就必须记住每一个函数的名字。例如:求面积的函数,圆形、矩形、梯形每个都要有一个单独的函数。而c++中允许多个同名函数存在,即函数的重载。函数重载的要求是每个函数的参数不同:参数个数不相同,或者参数类型不相同。
注意:1.函数重载是通过区分参数的个数和类型来实现的,与返回值无关。
2.重载函数不可与带默认值的函数同名,否则系统无法判定调用哪一个。
{
void point(int a,int b);
void point(int a,int b=2,int c=3);
point(x,y); //会不知道该调用哪一个
}
代码实现:
例如:求面积的函数。虽然都是求面积的函数,但可以通过参数的个数不同来区分。
//函数重载 #include<iostream> using namespace std; double area(double r); //圆 double area(double w,double h); //矩形 double area(double a,double b,double h); //梯形 int main() { double r=5; double s1; s1=area(r); cout<<"圆的面积:"<<s1<<endl; double w=2,h=5; s1=area(w,h); cout<<"矩形的面积:"<<s1<<endl; double a=3,b=5,h1=10; s1=area(a,b,h1); cout<<"梯形的面积:"<<s1<<endl; return 0; } double area(double r) { double s=3.13*r*r; return s; } double area(double w,double h) { double s=w*h; return s; } double area(double a,double b,double h) { double s=(a+b)*h/2; return s; }
运行结果:
------------------------------------------- END -------------------------------------