黑马程序员技术交流社区

标题: 构成函数重载的条件? [打印本页]

作者: 朱永恒    时间: 2012-7-16 13:10
标题: 构成函数重载的条件?
想问下构成函数重载的条件
作者: 曾玉锋    时间: 2012-7-16 13:46
函数重载的作用:通过不同参数的传递实现不同的功能。
函数重载必须遵循的规则:
1、函数名必须相同,是否有返回值不影响
2、重载的函数中参数的个数,参数类型以及不同类型参数之间的顺序不能完全相同。
作者: 戴敏智    时间: 2012-7-16 13:56
首先重载的函数必须在同一个类中,其次函数名必须相同,与返回值类型无关,参数列表中参数的个数和类型必须不同,这样就构成了函数的重载。
作者: 冯大卫    时间: 2012-7-16 14:22
1.函数名必须相同方能构成函数重载;
2.函数返回值类型:可以相同,也可以不同(注意:函数的返回类型不足以区分两个重载函数);
3.函数参数类型:必须不同;
4.函数参数个数:可以相同,可以不同
5.函数参数顺序:可以相同,可以不同;
注意:参数表的比较过程与参数名无关.


作者: 赵学辉    时间: 2012-7-16 14:23
参数个数,类型,返回值这三个中必须有一项是不同的,比如:参数的个数与原来的函数的参数个数不相等,其他的一样;
但是函数的名必须是一样的才能进行重载!
作者: 侯茂绵    时间: 2012-7-16 14:33
void show(int a,char b,double c){}
void show(int x,char y,double z){}//没有,因为和原函数一样。
int show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系
void show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。
boolean show(int c,char b){}//重载了,因为参数个数不同。
void show(double c){}//重载了,因为参数个数不同。
double show(int x,char y,double z){}//没有,这个函数不可以和给定函数同时存在与一个类中。

总结:1.函数名必须相同方能构成函数重载;
          2.重载和返回值类型没关系
          3.参数个数或者参数类型不同就可以
      




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2