面向对象程序设计第5章

《面向对象程序设计》第05章在线测试
剩余时间:

59:12
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。

第一题、单项选择题(每题1分,5道题共5分)
1、如果表达式 ++ik 中的“ ++ ”和“ * ”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为 ( B)
A、operator
(i.operator++(),k) B、operator(operator++(i),k)
C、i.operator++().operator
(k) D、k .operator*(operator++(i))
2、在成员函数中进行双目运算符重载时,其参数表中应带有(B )个参数。
A、0 B、1
C、2 D、3
3、如果表达式a++中的“++”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(D )。
A、a.operator++() B、operator++(a)
C、operator++(a,1) D、operator++(1,a)
4、如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为(D )。
A、a.operator++(1) B、operator++(a)
C、operator++(a,1) D、a.operator++()
5、下面是重载单目运算符-的成员函数原形,其中最符合-原来含义的是( B)。
A、Value Value::operator-(Value); B、Value Value::operator-(int);
C、Value& Value::operator-(Value); D、Value& Value::operator-(Value&);
第二题、多项选择题(每题2分,5道题共10分)
1、关于运算符重载,下列说法错误的是( ACD)。
A、所有的运算符都可以重载。
B、通过重载,可以使运算符应用于自定义的数据类型。
C、通过重载,可以创造原来没有的运算符。
D、通过重载,可以改变运算符的优先级。
2、关于运算符重载,下列说法错误的是(ABD )。
A、重载时,运算符的优先级可以改变。
B、重载时,运算符的结合性可以改变。
C、重载时,运算符的功能可以改变。
D、重载时,运算符的操作数个数可以改变。
3、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符不可能是( ACD)。
A、作为友元函数重载的1元运算符
B、作为成员函数重载的1元运算符
C、作为友元函数重载的2元运算符
D、作为成员函数重载的2元运算符
4、类A中重载运算符new为成员函数的定义如下: void * operator new ( size_t size, int x, int y){…} 则使用重载new的方法错误的是:(ABD )
A、new A;
B、new (1,2,3);
C、new (1,2,3)A;
D、new A (1,2,3);
5、下面关于逗号运算符的说法正确的是(BC )
A、逗号运算符是多目运算符
B、逗号运算符的表达式为“左运算数,右运算数”,返回值为右运算数的值。
C、逗号运算符可以重载为成员函数,形参只带右运算数。
D、逗号运算符的返回值为左运算数的值。
第三题、判断题(每题1分,5道题共5分)
1、双目运算符重载为成员函数的时候,一个运算对象由this指针给出,另一个运算对象通过重载运算符的形参传递。T
正确 错误
2、双目运算符op重载为A类的友元函数后,表达式“ obj1 op obj2”可以解释为:operator op(obj1,obj2)。T
正确 错误
3、重载运算符为成员函数和友元函数时的关键区别在于成员函数具有this指针,而友元函数没有this指针。T
正确 错误
4、重载+=运算符与标准数据类型的+=运算作用完全相同。F
正确 错误
5、重载=运算符没有实际意义,因为系统会为每一个类自动生成赋值运算符。F
正确 错误T

你可能感兴趣的:(面向对象程序设计第5章)