几个参数的问题

几个参数的问题

http://img1.sycdn.imooc.com//climg/5bfe32200001ed6b06260502.jpg

成员函数为什么就可以只定义一个another,然后return 用 x,y来-another

友元函数为什么必须要定义两个&a,&b, 

而且在最后main函数里执行的时候,为什么也有区别

能详细说明一下吗?


正在回答

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

2回答

1、几个参数的问题,首先友元函数,需要一个减数和被减数,所以需要两个参数,a和b。而成员函数本身就有被减数,只需要再传递一个被减数就可以啦,所以只需要一个参数即可。

2、调用方式不同,主要是因为友元函数,需要两个参数,而成员函数只需要一个参数即可。

两个方式都可以实现最后的结果,你可以选择一种方式都可以的。

提问者 broodopq 2018-11-28 14:19:41
  • 提问者 broodopq #1
    是说成员函数可以调用参数列表里的x y ,而友元函数因为在类外定义,无法调用参数列表里的x y吗?还有为什么 友元函数需要在类外定义
    2018-11-28 14:56:31
  • Tender10 回复 提问者 broodopq #2
    成员函数就是定义在(class)类中的函数,函数在哪个类中定义,就是哪个类的成员函数。所以在类中定义的是可以获取到成员属性的,所以只需要一个another即可。友元函数因为在类外定义,无法调用参数列表里的x,y,所以需要两个参数。友元函数在类外是因为,友元虽然不是类成员却能够访问类的所有成员的函数。但是得授予它的友元特别的访问权。
    2018-11-28 15:27:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
C++零基础入门 热门编程语言 二级考试必备
  • 参与学习       529    人
  • 提交作业       110    份
  • 解答问题       594    个

无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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