如果希望运算符的操作数(尤其是第一个操作数)有隐式转换,则重载运算符时必须用()

题目
单选题
如果希望运算符的操作数(尤其是第一个操作数)有隐式转换,则重载运算符时必须用()
A

构造函数

B

析构函数

C

成员函数

D

友元函数

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

第1题:

( 14 )运算符重载时不需要保持的性质是

A )操作数个数

B )操作数类型

C )优先级

D )结合性


正确答案:B

第2题:

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

A.运算符重载可以改变操作数的个数

B.运算符重载可以改变操作数的优先级

C.运算符重载可以改变运算符的结合性

D.运算符重载可以使运算符实现特殊功能


正确答案:D
解析: C++把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字opera- tor。C++中通过重新定义运算符,使它能够用于特定类的对象执行特定的功能。但是用户重新定义运算特,不改变原运算符的操作符个数、优先级和结合性。同时运算符重载后,也不改变运算符的语法结构,即单目运算符只能重载为单目运算符,双目运算符只能重载为双目运算符。

第3题:

( 14 )通过运算符重载,可以改变运算符原有的

A )操作数类型

B )操作数个数

C )优先级

D )结合性


正确答案:A

第4题:

下面关于自定义类的运算符重载的说法中,正确的是()。

A.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同

B.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数

C.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员

D.所有运算符都可以以类友元形式进行重载


正确答案:AC

第5题:

通过运算符重载,可以改变运算符原有的

A.操作数类型

B.操作数个数

C.优先级

D.结合性


正确答案:A
解析:本题考查的知识点是:运算符重载。重载的运算符具有保持其原有的操作数个数、优先级和结合性不变的特性。故本题应该选择A。

第6题:

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

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

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

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

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


正确答案:A

第7题:

下列关于运算符重载不正确的是( )。

A.运算符重载不能改变运算符的操作数个数

B.运算符重载不能改变运算符的优先级

C.运算符重载不能改变运算符的结合性

D.运算符重载能改变对预定义类型数据的操作方式


正确答案:D
解析: 本题考查C++语言中操作符重载的概念。运算符重载的关键字是operator。运算符重载的规则是重载时不能改变运算符的操作数个数,不能改变运算符的优先级,不能改变运算符的结合性,不能改变对预定义类型数据的操作方式。

第8题:

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

A.运算符重载可以改变操作数的个数

B.运算符重载可以改变运算符的优先级

C.运算符重载可以改变运算符的结合性

D.运算符重载可以使运算符实现特殊功能


正确答案:D

第9题:

重载运算符不能改变原运算符的()。

A: 操作数个数

B: 原有优先级

C: 结合特性

D: 操作方式


正确答案: A,B,C,D

第10题:

当运算符重载为成员函数时,如果函数参数表中没有参数,则表明该重载为单目运算符,操作数就为该对象本身;如果函数参数表中有一个参数,则表示该重载为双目运算符,另外一个操作数为该对象本身。

A.template<class T1,class T2>class A;

B.template<class T1,typename T2>class A;

C.template<typename T1,class T2>class A;

D.template<typename T1,T2>class A;


正确答案:D
解析:在模板定义中,一般情况下,class和typename可以互换。在选项D中,T2没有类型参数限制定义,所以和题干给出的定义不同。

更多相关问题