将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是(  )。

题目
单选题
将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是(  )。
A

Deer& operator--(int);

B

Deer operator--(Deer&,int);

C

friend Deer& operator--(Deer&);

D

friend Deer operator--(Deer&,int);

参考答案和解析
正确答案: D
解析:
前缀运算符“--”的操作结果有左值数据,重载时应保持这一特性。因此运算符函数的返回值应声明为引用,类型为Deer&;前缀运算符“--”要求第一操作数必须是有左值的操作数,因此对应于第一操作数的第一参数必须声明为引用参数,类型为Deer&。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若以非成员函数形式,为类Bounce重载“!”运算符,其操作结果为一个bool型数据,则该运算符重载函数的原型是______。


正确答案:bool operator!(Bounee);
bool operator!(Bounee); 解析:单目运算符重载为非成员函数的一般格式为:
返回类型operator操作符(形参)
其中形参类型为类名。

第2题:

( 33 )下列关于运算符重载的描述中,错误的是

A ) :: 运算符不能重载

B )类型转换运算符只能作为成员函数重载

C )将运算符作为非成员函数重载时必须定义为友元

D )重载 [] 运算符应完成 “ 下标访问 ” 操作


正确答案:C

第3题:

若以非成员函数形式 , 为类 Bounce 重载 “ ! ” 运算符 , 其操作结果为一 bool 型数据 , 则该运算符重载函数的原型是 【 13 】 。


正确答案:

第4题:

已知在一个类体中包含如下函数原型:VOLUME OPERATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )。

A.这是运算符-的重载运算符函数

B.这个函数所重载的运算符是一个一元运算符

C.这是一个成员函数

D.这个函数不改变类的任何数据成员的值


正确答案:B
解析: 本题考核运算符的重载。题中语句为运算符“-”是一个二元运算符,且是作为常成员函数来重载的,所以它不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数。

第5题:

( 24 )下列关于运算符重载的描述中,错误的是

A )可以通过运算符重载在 C++ 中创建新的运算符

B )赋值运算符只能重载为成员函数

C )运算符函数重载为类的成员函数时,第一操作数是该类对象

D )重载类型转换运算符时不需要声明返回类型


正确答案:A

第6题:

( 14 )下列有关运算符函数的描述中,错误的是

A )运算符函数的名称总是以 operator 为前缀

B )运算符函数的参数可以是对象

C )运算符函数只能定义为类的成员函数

D )在表达式中使用重载的运算符相当于调用运算符重载函数


正确答案:C

第7题:

( 14 )将前缀运算符 “ -- ” 重载为非成员函数,下列原型中,能正确用于类中说明的是

A ) Decr& operator --(int);

B ) Decr operator --( Decr&,int);

C ) friend Decr& operator --(Decr&);

D ) frlend Decr operator --(Decr&,int);


正确答案:C

第8题:

( 24 )下列关于运算符重载的描述中,正确的是

A )运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符

B )一元运算符只能作为成员函数重载

C )二元运算符重载为非成员函数时,参数表中有一个参数

D ) C++ 中可以重载所有的运算符


正确答案:A

第9题:

( 33 )将运算符 “ + ” 重载为非成员函数,下列原型声明中,错误的是

A ) MyClock operator + (MyClock,long);

B ) MyClock operator + (MyClock,MyClock);

C ) MyClock operator + (long,long);

D ) MyClock operator + (long,MyClock);


正确答案:C

第10题:

将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是( )。

A.Decr&operator--{int};

B.Decroperator--(Decr&,int);

C.friend Decr& cperator--(Decr&);

D.friend Decr operacor--(Decr&,int);


正确答案:C
解析:把“--”运算符重载为非成员(友元)函数格式:friend<返回类型>operator--()是前缀的格式;friend<返回类型>operator--(int)是后缀的格式。当然也可以有参数如题中C选项所示。

更多相关问题