函数重载的使用条件

函数重载的使用条件

老师,这里为什么不能算是函数重载呢?会报错,ppt里老师也是这样演示的呀?

函数重载在什么条件下才能使用呢?


https://img1.sycdn.imooc.com//climg/62cee4ab09dfe32719000342.jpg


https://img1.sycdn.imooc.com//climg/62cee50c09d636a712400398.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2022-07-14 10:21:21

同学你好,因为课程中老师没有使用Point类型,只是定义了,所以没有报错

https://img1.sycdn.imooc.com//climg/62cf7d52097782a413410349.jpg

其实是不太对的,应该在z处也加?,如下:

https://img1.sycdn.imooc.com//climg/62cf7d2e09ad606408820202.jpg

函数重载一般在多种类型参数的时候使用,便于控制参数类型。

祝学习愉快!

  • 提问者 Cynthia4660559 #1

    为什么要在z后面也加上问号呢?如果是函数重载的话,它作为第二个重载签名,如果input里有z的话输出本来就应该有z不是吗?

    2022-07-14 11:44:43
  • 好帮手慕星星 回复 提问者 Cynthia4660559 #2

    如果不给z加?,报错提示是

    https://img1.sycdn.imooc.com//climg/62cfad6a09428e8107790272.jpg

    传的时候z可有可无,那么输出的时候z不应该是必须要有的,所以也需要加?变为可有可无。

    2022-07-14 13:46:15
  • 提问者 Cynthia4660559 回复 好帮手慕星星 #3

    还是不太理解。既然我利用函数重载定义了两种函数形式,那么不是只要满足其中一种的类型不就行了吗?

    对于第一个重载签名,是没有z的情况,input里没有z,输出自然也没有z

    对于第二个重载签名,是input有z的情况,那这种情况返回值自然也必须有z不是吗,为什么要给它的z加上问号,这个声明对应的难道不是input有z参数的情况吗?

    2022-07-14 20:50:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师