运算符重载基础概念练习题

更新时间:2023-03-11 22:11:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

运算符重载基础概念练习题

1、 下列运算符中, ( )运算符在C++中不能重载。 A = B () C :: D delete

2、 下列运算符中, ( )运算符在C++中不能重载。 A ?: B [] C new D &&

3、 下列关于C++运算符函数的返回类型的描述中,错误的是( )。

A 可以是类类型 B 可以是int类型 C 可以是void类型 D 可以是float类型

4、 下列运算符不能用友元函数重载的是( )。

A + B = C * D <<

5、 在重载运算符函数时,下面( )运算符必须重载为类成员函数形式。

A + B - C ++ D ->

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

A 运算符重载可以改变运算符的操作数的个数 B 运算符重载可以改变优先级 C 运算符重载可以改变结合性

D 运算符重载不可以改变语法结构

7、 友元运算符obj>obj2被C++编译器解释为( )。 A operator>(obj1,obj2) B >(obj1,obj2)

C obj2.operator>(obj1) D obj1.oprator>(obj2)

8、 在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。

A operator+有两个参数,operator*有两个参数 B operator+有两个参数,operator*有一个参数 C operator+有一个参数,operator*有两个参数 D operator+有一个参数,operator*有一个参数

9、 重载赋值操作符时,应声明为( )函数。

A 友元 B 虚 C 成员 D 多态

10、 在一个类中可以对一个操作符进行( )重载。

A 1种 B 2种以下 C 3种以下 D 多种

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

A. 作为友元函数重载的1元运算符 B. 作为成员函数重载的1元运算符 C. 作为友元函数重载的2元运算符 D. 作为成员函数重载的2元运算符

12、在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数。 A. 0 B. 1 C. 2 D. 3

13、双目运算符重载为普通函数时,其参数表中应带有( )个参数。 A. 0 B. 1 C. 2 D. 3

14、如果表达式a+b中的\是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。

A. a.operator+(b) B. b.operator+(a) C. operator+(a,b) D. operator(a+b) 15、如果表达式a==b中的\是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。

A. a.operator==(b) B. b.operator==(a) C. operator==(a,b) D. operator==(b,a)

16、如果表达式a++中的\是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。

A. a.operator++() B. operator++(a) C. operator++(a,1) D. operator++(1,a)

17、 如果表达式++a中的\是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。

A. a.operator++(1) B. operator++(a) C. operator++(a,1) D. a.operator++()

18、关于运算符重载,下列说法正确的是( )。 A. 重载时,运算符的优先级可以改变。 B. 重载时,运算符的结合性可以改变。 C. 重载时,运算符的功能可以改变。

D. 重载时,运算符的操作数个数可以改变。

19、关于运算符重载,下列说法正确的是( )。 A. 所有的运算符都可以重载。

B. 通过重载,可以使运算符应用于自定义的数据类型。 C. 通过重载,可以创造原来没有的运算符。 D. 通过重载,可以改变运算符的优先级。 20、 一个程序中数组a和变量k定义为\,且程序中包含有语句\,则此语句中肯定属于重载操作符的是( )。 A. ( ) B. = C. ++ D. *

21、假定K是一个类名,并有定义\,已知K中重载了操作符 ( ),且语句\和\都能顺利执行,说明该操作符函数的原形只可能是( )。 A. K operator ( ) (int); B. int operator ( )(int); C. int & operator ( )(int); D. K operator( )(int);

22、假定M是一个类名,且M中重载了操作符=,可以实现M对象间的连续赋值,如\。重载操作符=的函数原型最好是( )。

A. int operaotor=(M); B. int operator=(M); C. M operator=(M); D. M & operator=(M);

23、下面是重载双目运算符+的普通函数原形,其中最符合+原来含义的是( )。 A. Value operator+(Value, Value); B. Value operator+(Value,int); C. Value operator+(Value); D. Value operator+(int , Value);

24、 下面是重载双目运算符-的成员函数原形,其中最符合-原来含义的是( )。 A. Value Value::operator-(Value); B. Value Value::operator-(int);

C. Value Value::operator-(Value,int); D. Value Value::operator-(int,Value);

25、在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( A. 该运算符是一个单目运算符。 B. 该运算符函数有一个隐含的参数this。 C. 该运算符函数是类的成员函数。 D. 该运算符函数是类的友元函数。

26、关于插入运算符<<的重载,下列说法不正确的是( )。 A. 运算符函数的返回值类型是ostream 。 B. 重载的运算符必须定义为类的成员函数。

C. 运算符函数的第一个参数的类型是ostream 。 D. 运算符函数有两个参数。

。 )

本文来源:https://www.bwwdw.com/article/b2bw.html

Top