通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
第1题
下列运算符不能重载为友元函数的是
[] () ->
+ — ++--
< > >= <=
++ -- * /
第2题
下列运算符中不能在C++中重载的是
? :
+
-
<
第3题
下列关于运算符重载的描述中,正确的是
运算符重载可以改变运算符的操作数的个数
运算符重载可以改变优先级
运算符重载可以改变结合性
运算符重载不可以改变语法结构
第4题
将x+yz中的“+”用成员函数重载,“”用友元函数重载应写为
operator+(operator*(y, z))
x.operator+(operator*(y, z))
x.operator+(x*(y, z))
x+(operator*(y, z))
第5题
如果表达式-x/y中的“-”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
operator/(x.operator-(y));
operator/(operator-(x),y);
x.operator-(x).operator/(y);
y.operator/(operator-(x))
第6题
如果表达式yx++中,“”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
x.operator+(0).operator*(y)
operator*(operator+(0,y),y)
y.operator*(operator+(x,0))
operator*(operator+(x,0),y)
第7题
关于运算符重载,下列表述中正确的是
C++已有的任何运算符都可以重载
运算符函数的返回类型不能声明为基本数据类型
在类型转换函数的定义中不需要声明返回类型
可以通过运算符重载来创建C++中原来没有的运算符
第8题
运算符重载是对已有的运算符赋予多重含义,因此
可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义
可以改变一个已有运算符的优先级和操作数个数
只能重载C++中已经有的运算符,不能定义新运算符
C++中已有的所有运算符都可以重载
第9题
第10题
通过运算符重载,可以改变运算符原有的
操作数类型
操作数个数
优先级
结合性
第11题
下列运算符中,不能被重载的是
&&
!
::
++
第12题
运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符
一元运算符只能作为成员函数重载
二元运算符重载为非成员函数时,参数表中有一个参数
C++中可以重载所有的运算符
第13题
下列有关运算符重载的叙述中,正确的是
运算符重载是多态性的一种表现
C++中可以通过运算符重载创造新的运算符
C++中所有运算符都可以作为非成员函数重载
重载运算符时可以改变其结合性
第14题
下列关于运算符重载的叙述中,错误的是
有的运算符可以作为非成员函数重载
所有的运算符都可以通过重载而被赋予新的含义
不得为重载的运算符函数的参数设置默认值
有的运算符只能作为成员函数重载
第15题
运算符重载时不需要保持的性质是
第16题
下列关于运算符函数的描述中,错误的是
运算符函数的名称总是以operator为前缀
运算符函数的参数可以是对象
运算符函数只能定义为类的成员函数
在表达式中使用重载的运算符相当于调用运算符重载函数
第17题
下列关于运算符重载的描述中,错误的是
::运算符不能重载
类型转换运算符只能作为成员函数重载
将运算符作为非成员函数重载时必须定义为友元
重载[]运算符应完成“下标访问”操作
第18题
可以通过运算符重载在C++中创建新的运算符
赋值运算符只能重载为成员函数
运算符函数重载为类的成员函数时,第一操作数是该类对象
重载类型转换运算符时不需要声明返回类型
第19题
下列关于运算符重载的叙述中,正确的是
通过运算符重载机制可以为c++语言扩充新的运算符
运算符重载的作用是使已有的运算符作用于新的对象
重载运算符的操作数类型可以全部为基本类型
所有运算符都可以被重载
第20题
通过运算符重载,可以定义新的运算符
若重载运算符+,则相应的运算符函数名是+
重载一个二元运算符时,必须声明两个形参
第21题
已知在一个类体中包含如下函数原型:VOLUME operator- (VOLUME) const;,下列关于这个函数的叙述中,错误的是
这是运算符-的重载运算符函数
这个函数所重载的运算符是一个一元运算符
这是一个成员函数
这个函数不改变类的任何数据成员的值
第22题
在表达式x+yz中,+是作为成员函数重载的运算符,是作为非成员函数重载的运算符。下列叙述中正确的是
operator+有两个参数,operator有两个参数
operator+有两个参数,operator有一个参数
operator+有一个参数,operator有两个参数
operator+有一个参数,operator有一个参数
第23题
有如下的运算符重载函数定义:
double operator+(int i,int k){return double(i+k);}
但定义有错误,对这个错误最准确的描述是
+只能作为成员函数重载,而这里的+是作为非成员函数重载的
两个int参数的和也应该是int型,而这里将+的返回类型声明为double
没有将运算符重载函数声明为某个类的友元
C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
第24题
下列运算符函数中肯定不属于类FunNumber的成员函数的是
int operator-(FunNumber);
FunNumber operator-(int);
FunNumber operator-(FunNumber,FunNumber);
int operator-(int);
第25题
下列是重载乘法运算符的函数原型声明,其中错误的是
MyClass operator*(double,double);
MyClass operator*(double,MyClass);
MyClass operator*(MyClass,double);
MyClass operator*(MyClass,MyClass);
第26题
知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是
Value operator+(Value,int);
Value operator+(Value=value,int);
Value operator+(Value,int=0);
Value operator+(Value=value,int=0);
第27题
如果表达式a>b中的“>”是作为非成员函数重载的运算符,则可以等效地表示为
a.operator>(b)
b.operator>(a)
operator>(a,b)
operator>(b,a)
第28题
已知表达式++a中的“++”是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为
a.operator++()
operator++(a)
operator++(a,1)
a.operator++(0)
第29题
将运算符重载为成员函数时,其参数表中没有参数,说明该运算符是
不合法的运算符
一元运算符
无操作数的运算符
二元运算符
第30题
将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是
Deer& operator--(int);
Deer operator--(Deer&,int);
friend Deer& operator--(Deer&);
friend Deer operator--(Deer&,int);
第31题
将运算符“+”重载为非成员函数,下列原型声明中,错误的是
MyClock operator+(MyClock,long);
MyClock operator+(MyClock,MyClock);
MyClock operator+(long,long);
MyClock operator+(long,MyClock);
第32题
下列关于赋值运算符“=”重载的叙述中,正确的是
赋值运算符只能作为类的成员函数重载
默认的赋值运算符实现了“深层复制”功能
重载的赋值运算符函数有两个本类对象作为形参
如已经定义了复制(拷贝)构造函数,就不能重载赋值运算符
第33题
在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为
x.operator/(y)
operator/(x,y)
y.operator/(x)
operator/(y,x)
第34题
若要对类Data中重载的加法运算符成员函数进行声明,下列选项中正确的是
Data+(Data);
Data operator+(Data);
Data+operator(Data);
operator+(Data,Data);
第35题
若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是
operator long()const;
operator long(BigNumber);
long operator long()const;
long operator long(BigNumber);
第36题
若需要为XV类重载乘法运算符,声明正确的是
XV operator*(XV);
XV*(XV);
operator*(XV);
XV operator*(XV,XV);
第37题
已知类MyClock中未显式定义构造函数,并重载了加法运算符,使得语句序列c2=c1+10;能正确执行,由此可知:为类MyClock重载的“+”运算符函数的声明是
friend MyClock operator+(MyClock,int);
friend MyClock operator+(MyClock,MyClock);
friend MyClock operator+(int,MyClock);
MyClock operator+(MyClock);
第38题
= ( ) [ ] ->
+ -- ++
> >= < <=
+= -= *= /=
第39题
若要重载+、=、<<、[]和运算符,则必须作为成员重载的运算符是
+=和+
=和<<
=和[]
++和[]
第40题
在类中重载赋值运算符时,应将其声明为类的
静态函数
友元函数
成员函数
构造函数
第41题
重载输入运算符“>>”必须使用的原型为
istream&operator>>(istream&, <类名>&);
istream&operator>>(istream&, <类名>);
istream operator>>(istream&, <类名>&);
<类名>operator>>(istream&, <类名>&);
选择题(0 - 0题,共计0分) 填空题(0 - 0题,共计0分)