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

题目

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

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

第1题:

对运算符重载函数主要有两种处理方式,一种是把运算符重载函数作为类的成员函数,另一种是把运算符重载函数作为类的友元函数。这两种运算符重载方式各自有什么特点?


把运算符重载的函数作为类的成员函数;运算符重载的函数不是类的成员函数, 在类中把它声明为友元函数。

第2题:

一个双目运算符作为类的成员函数重载时,重载函数的参数表中有【 】个参数。


正确答案:√
1 解析:双目运算符(即二元运算符),作为成员函数重载时形参表中只有一个参数,对应于第二操作数,而第一操作数就是对象本身,以this指针的形式隐藏在形参表中。

第3题:

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

A.::运算符不能重载

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

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

D.重载口运算符应完成“下标访问”操作


正确答案:C
C。【解析】除了·、*、→*、::、?:这五个运算符外,其他运算符都可以重载。=、[]、、→以及所有的类型转换运算符只能作为成员函数重载。口作为成员函数重载时,应完成“下标访问”操作,使得向指定下标处的元素赋值或取值成为可能。

第4题:

为类Matrix重载下列运算符号时,只能作为Matrix类成员函数重载的运算符是( )。

A.+

B.=

C.<<

D.++


正确答案:B
B。【解析】赋值运算符只能作为重载函数的成员函数,其他运算符都可以作为友元函数重载。

第5题:

下列关于运算符重载的叙述中,错误的是

A.::运算符不能重载

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

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

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


正确答案:C
解析: C是错误的,其余为规定。

第6题:

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

A.::运算符不能重载

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

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

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


正确答案:D
解析:重载[]运算符不一定要完成“下标访问”操作,可以在其运算符函数中执行任意允许的操作。

第7题:

下列关于赋值运算符“=”重载的叙述中,正确的是

A.赋值运算符只能作为类的成员函数重载

B.默认的赋值运算符实现了“深层复制”功能

C.重载的赋值运算符函数有两个本类对象作为形参

D.如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符


正确答案:A
解析:=、[]、()、->以及所有的类型;转换运算符只能作为成员函数重载,A项正确。默认的赋值运算符只实现了浅层复制,B项错误。赋值运算符只能作为成员函数重载,形参表中只有一个参数,对应于第二操作数,C项错误。一个类中如果需要重载运算符 “=",通常也就需要定义自己特有的复制构造函数,反之亦然,故D项错误。

第8题:

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

A ) :: 运算符不能重载

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

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

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


正确答案:C

第9题:

重载单目运算符作为类的成员函数,函数没有参数。()

此题为判断题(对,错)。


参考答案:√