《面向对象程序设计》第06章在线测试
剩余时间:
58:00
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、关于函数模板的说法错误的是( B)
A、函数模板是一个模板,其中用到通用类型参数 B、函数模板是具体的函数,在系统遇到具体函数调用时生成
C、函数模板是一组函数的抽象 D、函数模板不能执行
2、下面函数模板的声明正确的是( C)
A、template void fun(int x){…} B、template < class T> void fun(int x){…}
C、template < class T> void fun(T x){…} D、template <class T> void fun(class T x){…}
3、下面函数模板的声明错误的是( B)
A、template < class T> void fun(T x){…} B、template < class T> T fun(int x){…}
C、template < class T> void fun(T x){…} D、template < class T> T fun(int x){…}
4、下面关于函数调用的顺序说法正确的是( A)
A、函数调用时首先匹配参数完全相同的函数 B、函数调用时首先寻找匹配的函数模板
C、函数调用时如果没有找到对应的函数模板生成模板函数就查找参数相同的函数 D、函数调用时如果函数模板和函数都没有对应的,函数调用错误
5、下面类模板的定义语句错误的是(A)
A、template <class T, class T> class Tclass{…}; B、template <class T, int T> class Tclass{…};
C、template <class T, int exp, class T> class Tclass{…}; D、template <class T1, class T2> class Tclass{…};
第二题、多项选择题(每题2分,5道题共10分)
1、关于模板函数的说法正确的是( BCD/ABD/ABC/BC(都不对。。。))
A、模板函数是编译系统在编译时根据函数模板自动生成的。
B、模板函数是函数的模板
C、模板函数是程序员用代码写出来的
D、模板函数是函数模板的实例化
2、模板函数与函数模板的区别是(BC )
A、模板函数是函数模板的抽象
B、函数模板是模板函数的抽象
C、模板函数是函数模板的重载函数
D、函数模板是具体的函数
3、关于模板函数的说法正确的是(CD )
A、模板函数不能直接执行
B、模板函数是一组函数的抽象
C、模板函数的编译系统遇到函数调用时生成的
D、模板函数是重载函数
4、关于模板之间的关系说法错误的是( BCD)
A、C++中有函数模板和类模板
B、函数模板是模板函数的实例化
C、类模板是模板类的实例化
D、对象是类模板的实例化
5、关于类模板的成员函数的说法正确的是(AB )
A、类模板的成员函数被认为是函数模板,也成为类属函数
B、类模板的成员函数的定义与类的成员函数的定义一样
C、类模板的成员函数通过类模板调用
D、类模板的成员函数可以在类外定义,但要符合函数模板定义的规范
第三题、判断题(每题1分,5道题共5分)
1、函数模板中的每一个类型参数在函数参数表中必须至少使用一次。
正确 错误T
2、函数模板每个模板类型参数前面都必须用关键字class或typename修饰。
正确 错误T
3、函数模板是程序员用代码写出来的,模板函数是编译系统在编译时根据函数模板自动生成的。
正确 错误T
4、函数模板是模板的定义,是一类函数的抽象,代表了一类具有相同功能的函数,不能够实际执行。
正确 错误T
5、类模板中的无类型参数一定是常量。
正确 错误T
网友评论