举例
int add(int a,int b);
int add(int a,float b);
main(){
add(5,3);
add(5,33);
}
明白了吗
函数重载:
C++允许定义多个同名函数,但是参数不能相同,必须满足以下条件之一
1,参数类型不同
2,参数数量不同 比如:
int fun(int,int);int fun(long,int); //类型不同
int fun(int); //数量不同
这样三个函数实现了重载,编译器会认为是三个不同的函数
PS:返回值类型不同,参数相同,是不能重载的
c语言写重载函数:
首先明确重载函数的定义:在相同的声明域中的函数名相同的,而参数表不同的,即通过函数的参数表而唯一标识并且来区分函数的一种特殊的函数。
当将要定义一组函数,使它们执行一系列的 *** 作,但是它们是应用在不同的参数类型上的。此时可以选择重载函数。
例如:
上面的三个函数都可以大概地说成判断一组数中的最大值,对于函数的用户来说,他们并不关心函数定义的细节,也就是说他们不关心判断两个整数的大小和判断数组(vector容器)数的大小应该使用不同的函数,而对于程序的设计者来说这可是不得不想到的。程序员必须记住并查找每个函数名。而函数的重载把程序员从这种问题的复杂性中解放了出来,C++提供了这种支持。
上面的三个比较大小的函数可以定义成:
通过参数就可以一眼分辨不同的函数。
重载:是类的多态的一种实现。函数重载指一个标识符被用作多个函数名,且能够通过函数的参数个数或参数类型将这些同名的函数区分开来,调用不发生混淆。这样做的主要好处就是,不用为了对不同的参数类型或参数个数,而写多个函数。也就是说,我们可以用同一个函数名定义多个同名方法,在我们调用这个函数的时候,就会根据参数列表的个数和参数类型来区分调用。1、方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数类型。重载是一个类中多态性的一种表现;
2、Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性;
3、重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)