郑州大学《面向对象程序设计》1-12章在线测试题库 联系客服

发布时间 : 星期四 文章郑州大学《面向对象程序设计》1-12章在线测试题库更新完毕开始阅读2523ea3a0640be1e650e52ea551810a6f524c80a

B、重载类型转换运算符为类的成员函数的时候,没有返回值,也没有形参。 C、重载类型转换运算符可以实现任意两种对象之间的转换。 D、重载类型转换运算符可以把类对象转换为一般数据变量。 5、下面关于函数调用运算符正确的说法是( ) A、重载函数调用运算符只能说明为类的非静态成员函数 B、重载了的函数调用运算符可以带多个形参,也可以带缺省参数 C、重载函数调用运算符的作用与重载函数的作用相同 D、重载函数的一般格式为: 类名::operator(); 第三题、判断题(每题1分,5道题共5分) 1、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。 正确 错误 2、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数。 正确 错误 3、双目运算符重载为成员函数的时候,一个运算对象由this指针给出,另一个运算对象通过重载运算符的形参传递。 正确 错误 4、双目运算符op重载为A类的成员函数后,表达式“ obj1 op obj2”可以解释为:operator op(obj1,obj2)。 正确 错误 5、重载运算符为成员函数和友元函数时的关键区别在于成员函数具有this指针,而友元函数没有this指针。 正确 错误 交卷

恭喜,交卷操作成功完成!你本次进行的《面向对象程序设计》第05章

的得分为 20分(满分20分),本次成绩已入库。若对成绩不满意,可重新再测,取

测试结果如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1.1 [单选] [对] 为了实现两个复数类对象c1,c2相加c1+c2,下面的语句正

1.2 [单选] [对] 在成员函数中进行双目运算符重载时,其参数表中应带有(

1.3 [单选] [对] 双目运算符重载为普通函数时,其参数表中应带有( )个1.4 [单选] [对] 如果表达式a++中的“++”是作为普通函数重载的运算符,若符函数调用格式,则可表示为( )。

1.5 [单选] [对] 如果表达式++a中的“++”是作为成员函数重载的运算符,若符函数调用格式,则可表示为( )。

2.1 [多选] [对] 在重载一运算符时,若运算符函数的形参表中没有参数,则况是( )。

2.2 [多选] [对] 关于运算符重载,下列说法错误的是( )。 2.3 [多选] [对] 下面重载类型转换运算符的语句正确的是( ) 2.4 [多选] [对] 下面关于类型转换运算符正确的说法是( ) 2.5 [多选] [对] 下面关于函数调用运算符正确的说法是( )

3.1 [判断] [对] 多数运算符可以重载,个别运算符不能重载,运算符重载是定义实现的。

3.2 [判断] [对] 对每个可重载的运算符来讲,它既可以重载为友元函数,又为成员函数。

3.3 [判断] [对] 双目运算符重载为成员函数的时候,一个运算对象由this另一个运算对象通过重载运算符的形参传递。

3.4 [判断] [对] 双目运算符op重载为A类的成员函数后,表达式“ obj1 可以解释为:operator op(obj1,obj2)。

3.5 [判断] [对] 重载运算符为成员函数和友元函数时的关键区别在于成员函is指针,而友元函数没有this指针。

《面向对象程序设计》第06章在线测剩余时间: 试 59:57 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、通常情况下,函数模板中的类型参数个数 不能 是 ( ) A、0 B、2

C、4

D、3

2、设有函数模板 template<class Q> Q Sum(Q x, Q y){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是 ( )

A、Sum(10,2);

C、Sum(15.2f, 16.0f);

B、Sum(5.0,6.7) ;

D、Sum( ″ AB ″ , ″ CD ″ );

3、模板参数在函数参数表中出现的次数不可能是( )。

A、1 C、0

B、2 D、任意

4、关于函数模板的说法错误的是( )

A、函数模板是一个模板,其中用到通用类型参

B、函数模板是具体的函数,在系统遇到具体函

数调用时生成

C、函数模板是一组函数的抽象

D、函数模板不能执行

5、已经有类模板定义 template <class T, int exp, class T> class Tclass{…}; 下面类模板的实例化语句中正确的是( )

A、Tclass x;

C、Tclass < double, 500, double> x;

B、Tclass < double, 500, double>; D、Tclass < char, ‘a’, char> x;

第二题、多项选择题(每题2分,5道题共10分) 1、关于模板函数的说法正确的是( )

A、模板函数不能直接执行 B、模板函数是一组函数的抽象

C、模板函数的编译系统遇到函数调用时生成的 D、模板函数是重载函数

2、关于类模板的说法正确的是( )

A、类模板是类的抽象 B、类模板是模板类的抽象

C、类模板中用到通用类型参数

D、类模板和普通类一样可以用于定义对象

3、关于函数模板的实例化正确的说法是( )

A、模板函数在实例化之前要先声明 B、模板类型可以进行隐式的类型转化 C、模板函数是函数模板的特例

D、函数模板实例化生成的函数模板是重载函数

4、关于函数模板的说法正确的是( )

A、函数模板生成的模板函数是重载的,但是函数模板不能重载 B、C++程序中函数模板可以同名,但是形参个数和类型应有区别 C、函数模板可以和普通函数重载 D、函数模板不能重载

5、关于类模板的成员函数的说法正确的是( )

A、类模板的成员函数被认为是函数模板,也成为类属函数 B、类模板的成员函数的定义与类的成员函数的定义一样 C、类模板的成员函数通过类模板调用

D、类模板的成员函数可以在类外定义,但要符合函数模板定义的规范

第三题、判断题(每题1分,5道题共5分) 1、类模板中不能带有静态成员。

正确

错误

2、模板类型参数名可以用来指定函数模板的返回类型。

正确

错误

3、模板参数名在同一模板参数表中只能使用一次,但可在多个函数模板声明或定义之间重复使用。