如果表达式a+b中的"+"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为() A a.operator+

能不能请教一下,他们之间的区别,另外,对<<的重载又是怎么回事;总之有什么规律吗?如果表达式a+b中的"+"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示... 能不能请教一下,他们之间的区别,另外,对<<的重载又是怎么回事;总之有什么规律吗?
如果表达式a+b中的"+"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator+(b) B b.operator+(a)
C operator+(a,b) D operator(a+b)

如果表达式a==b中的"=="是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator==(b) B b.operator==(a)
C operator==(a,b) D operator==(b,a)

如果表达式a++中的"++"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator++(b) B operator++(a)
C operator++(a,1) D a.operator++(1,a)

如果表达式++a中的"++"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator++(1) B operator++(a)
C operator++(a,1) D a.operator++()
展开
 我来答
Irreappearable
推荐于2017-09-27 · TA获得超过4956个赞
知道大有可为答主
回答量:1423
采纳率:25%
帮助的人:3107万
展开全部
1. A a.operator+(b) operator+是函数名,因为是成员函数,所以由a调用
2. C operator==(a,b) operator==是函数名,因为是普通函数,所以直接调用
3. A a.operator++(b) operator++是函数名,因为是成员函数,所以由a调用,另外这里是a++而非++a,所以要传一个参数
4. D a.operator++() 同上,但是这里是++a,所以不需要参数

操作符重载,不过是函数的名字显得奇怪了些,本质上是一样的。<<本身并无特别之处,只不过当用于cout的时候,你不能重载成成员函数
追问
再问一下.3问中 为什么传的参数是b,而不是1
追答
我觉得一般来说是1啊,或者0啊都可以的.....其实b是什么也没有说,所以它的意思只是区分有没有参数吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式