模板基础概念练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模板基础概念练习题
1、下列对模板的声明,正确的是_________。
A) template< C1ass T>
void fun( T t ) { ……}
B) template
void fun(T1 t1, T2 t2 ) { ……}
C) template
void fun( T1 t1, T2 t2 ) { ……}
D) template
void fun( T1 t1) { T2 t2 ……}
2、一个_________允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
A)函数模板
B)模板甲数
C)类模板
D)模板类
3、类模板的模板参数_________。
A)只可作为数据成员的类型
B)只可作为成员函数的返回类型
C)只可作为成员函数的参数类型
D)以上三者皆可
4、下列程序段中有错的是_________。
A)template
B)Type
C)func(Type a,b)
D){return (a>b)?(a):(b);}
5、模板是实现类属机制的一种工具,其功能非常强大,它既允许用户构造类属函数,即___①___:也允许用户构造类属类,即___②___。
A)模板函数
B)函数模板
C)模板类
D)类模板
6、类模板的使用实际上是将类模板实例化成一个具体的_________。
A)类
B)对象
C)函数
D)模板类
7、关于函数模板,描述错误的是()
A) 函数模板必须由程序员实例化为可执行的函数模板
B) 函数模板的实例化由编译器实现
C) 一个类定义中,只要有一个函数模板,则这个类是类模板
D) 类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化
8、下列的模板说明中,正确的是()(两个答案)
A) template
B) template
C) template
D) template
9、假设有函数模板定义如下:
Template
void Max(T a, T b, T &c)
{ c=a+b; }
下列选项正确的是()(两个答案)
A) float x,y, z; Max(x,y,z);
B) int x,y,z; z = Max(x,y,z);
C) int x,y; float z; Max(x,y,z);
D) float x; int y, z; Max(x,y,z);
10、关于类模板,描述错误的是()
A) 一个普通基类不能派生类模板
B) 类模板从普通类派生,也可以从类模板派生
C) 根据建立对象时的实际数据类型,编译器把类模板实例化为模板类
D) 函数的类模板参数须通过构造函数实例化
11、建立类模板对象的实例化过程为()
A) 基类派生类B) 构造函数对象
C) 模板类对象D) 模板类模板函数
12、需要一种逻辑功能能一样的函数,而编制这些函数的程序文本完全一样,区别只是数据类型不同。对于这种函数,下面不能用来实现这一功能的选项是()
A)宏函数
B)为各种类型都重载这一函数
C)模板
D)友元函数