如果表达式--X+y中,--是作为成员函数重载的,+是作为成员函数重载的,则该表达式还可为A.y.operato

题目

如果表达式--X+y中,--是作为成员函数重载的,+是作为成员函数重载的,则该表达式还可为

A.y.operator+(x.operator--(0))

B.y,operator+(x.operator--( ))

C.y.operator+(operator--t(x,0))

D.operator+(x.operator- -t( ))

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。

A、作为友元函数重载的1元运算符

B、作为成员函数重载的1元运算符

C、作为友元函数重载的2元运算符

D、作为成员函数重载的2元运算符


参考答案:B

第2题:

如果表达式x*y+2中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为

A.operator+(operator*(x,y),z)

B.x.operator+(operator*(x,y),z)

C.y.operator*(operator+(x,y),z)

D.x.operator+(operator*(x,y))


正确答案:A
解析:C++中用成员函数重载x*y为:x.operator*(y),用友元函数重载x*y为:operator*(x,y),用成员函数重载x+y为:x.operator+(y),用友元函数重载x+y为:operator+(x,y)。

第3题:

如果表达式a>=b中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为( )。

A.a.operator>=(b)

B.b.operatotr>=(a)

C.operator>=(a,b)

D.operator>=(b,a)


正确答案:C
解析:此题考查的是运算符的重载。运算符函数有两种调用形式:第一种是直接用函数名进行调用:另一种是通过运算符构成表达式的形式进行调用。

第4题:

如果表达式x * y+z中,“*”是作为友元函数重载的,“+”是作为成员函数重载的,则该表达式还可为

A.operator+(operator * (x, y) ,Z)

B.x. operator+(operator * (x, y) ,z)

C.y. operator * (operator+(x, y) ,z)

D.x. operator+(operator * (x, y) )


正确答案:A
解析:C++中用成员函数重载x * y为:x. operator * (y) ,用友元函数重载x * y为:operator
* (x, y) ,用成员函数重载x+y为:x. operator+(y) ,用友元函数重载x+y为:operator+(x, y) 。

第5题:

如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为

A.(operator++(x)).operator/(y)

B.(operator++(0)).operator/(y)

C.operator/((operator++(x,0)),y)

D.operator/((operator++(0)),y)


正确答案:A
解析:C++中用成员函数重载++x为:x.operator++(),用友元函数重载++x为:operator ++(x),用成员函数重载x/y为:x.operator/(y),用友元函数重载x/y为:operator/(x,y)。

第6题:

运算符函数调用格式的表达式:y/x++与表达式:y.operator/(operator++(x,O))含义相同,由此可看出()。

A.“/”和“++”都是作为成员函数重载的

B.“/”和“++”都是作为非成员函数重载的

C.“/”是作为成员函数重载的,“++”是作为非成员函数重载的

D.“/”是作为非成员函数重载的,“++”都是作为成员函数重载的


正确答案:C
解析:本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则c1.operator+(c2)与c1+c2含义相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与c1+c2含义相同。所以通过题目给出的两个表达式可看出“/”是作为成员函数重载的,“++”是作为非成员函数重载的。

第7题:

多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但运算符[]只能作为类的______函数重载。


正确答案:成员
成员 解析:此题考查的是运算符重载。在C++中,“=”、“[]”、“()”、“->”以及所有的类型转换符只能作为成员函数重载,不能重载为友元函数。

第8题:

( 24 )己知表达式 ++a 中的 "++" 是作为成员函数重载的运算符,则与十 +a 等效的运算符函数调用形为

A ) a .orerator++ ( 1 )

B ) operator++ ( a )

C ) operator++ ( a , l )

D ) a.operator++ ( )


正确答案:D

第9题:

若在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为

A.x.operator/(y)

B.operator/(x,y)

C.y.operator/(x)

D.operator/(y,x)


正确答案:C
解析:“/”是一个二元运算符,作为成员函数重载时形参表中只有一个参数,对应于第二操作数,而第一操作数就是对象本身,以this指针的形式隐藏在形参表中。本题中,y为第一操作数,x为第二操作数,故正确答案为C。

第10题:

如果在表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为

A.(operator++(x) ) .operator/(y)

B.(operator++(0) ) .operator/(y)

C.operator/((operator++(x,0) ) ,y)

D.operator/((operator++(0) ) ,y)


正确答案:A
解析:C++中用成员函数重载++x为:x. operator++( ) ,用友元函数重载++x为:operator ++(x) ,用成员函数重载x/y为:x. operator/(y) ,用友元函数重载x/y为:operator/(x, y) 。

更多相关问题