两个方法方法名相同,返回值类型不同,能不能构成函数重载?为什么?

 我来答
床前明月儿
高能答主

2020-03-26 · 探索生活中的另一种可能
床前明月儿
采纳数:105 获赞数:171997

向TA提问 私信TA
展开全部

两个方法方法名相同,返回值类型不同不可以构成函数重载。

函数重载是同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。不能只有函数返回值类型不同。


扩展资料

重载函数必须在下列一个或两个方面有所区别:

1、函数的参数个数不同。

2、函数的参数类型不同或者参数类型顺序不同。

参考资料来源:百度百科-重载函数

百度网友d8d87c21b
推荐于2018-04-11 · TA获得超过156个赞
知道答主
回答量:59
采纳率:0%
帮助的人:54.8万
展开全部
呵呵,不能的。
重载必须要用参数来区分,传入不同参数,可以实现重载。
至于原因,可以这样理解,你调用一个方法,如果有多个方法同名,系统必须要知道到底你要调用哪一个,参数可以帮助系统在方法入口处得到答案,他根据你给的参数就知道该将哪个方法的入口调入栈中。如果只有返回值的不同,很多情况系统是不可能得到有效的判断条件的,比如:String method();int method();如果你这样调用:method();系统当然不知道该调用哪个。
所以答案是,不能。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_whales
2013-01-01 · TA获得超过2281个赞
知道大有可为答主
回答量:1814
采纳率:85%
帮助的人:554万
展开全部
构成重载,但大部分都是错误的重载,只有极少部分不是,比如虚函数的重载返回值可以不同,父类返回父类型,子类可以返回子类型,运算符的重载子类返回子类型,父类返回父类型然而其他重载就不同,难以根据返回值缺定要调用那个函数,出现二义性错误,生成不了代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-03-10
展开全部
如果你想问的是,函数重载,函数名相同,但函数的返回值不同,是不是可以。答案应该是可以的,因为函数重载关注的是参数。比如 int max(int n,int m){。。。。return i=1}; int max(int a,int b,int c){。。。。return p=2};这样也不会报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式