C++函数的重载

两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参与形参的类型以及个数的最佳匹配,自动确定调用的函数,这就是函数的重载

两个名字相同的函数必须具有不同的形参,这里的不同指的是形参的个数或形参的类型不同。

注意:函数的返回值不同,其他都相同不是函数的重载,编译器会报错。

int add(int x,int y);
float add(float x,float y)//形参类型不同

int add(int x,int y);
int add(int x,int y, int z); //形参个数不同

 要注意函数重载的二义性

void fun(int length ,int width=3, int height =4);
void fun ( int length );

 这样的两个函数原型,在编译的事后编译器没法区别成不同的函数重载形式。

如我们进行如下调用:

fun(1)

 这样编译器不知道到底要调用那个函数,因为两个都可以调用。就会报错。

 

原文地址:https://www.cnblogs.com/fuhang/p/8655517.html