A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱永恒 中级黑马   /  2012-7-16 13:10  /  3120 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想问下构成函数重载的条件

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

5 个回复

倒序浏览
函数重载的作用:通过不同参数的传递实现不同的功能。
函数重载必须遵循的规则:
1、函数名必须相同,是否有返回值不影响
2、重载的函数中参数的个数,参数类型以及不同类型参数之间的顺序不能完全相同。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
首先重载的函数必须在同一个类中,其次函数名必须相同,与返回值类型无关,参数列表中参数的个数和类型必须不同,这样就构成了函数的重载。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
1.函数名必须相同方能构成函数重载;
2.函数返回值类型:可以相同,也可以不同(注意:函数的返回类型不足以区分两个重载函数);
3.函数参数类型:必须不同;
4.函数参数个数:可以相同,可以不同
5.函数参数顺序:可以相同,可以不同;
注意:参数表的比较过程与参数名无关.

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
参数个数,类型,返回值这三个中必须有一项是不同的,比如:参数的个数与原来的函数的参数个数不相等,其他的一样;
但是函数的名必须是一样的才能进行重载!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
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.参数个数或者参数类型不同就可以
      

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马