c++语言程序设计教程第二版答案,C++语言程序设计教程 第2版 习题答案 作者 吕凤翥 王树彬 习题解答11 13.doc...

第11章 模板

练习题11

11.1 判断题

√ 1. 使用模板的目的是为了避免重复性劳动。

× 2. 函数模板是一个实实在在的函数,编译系统会产生执行代码。

√ 3. 由函数模板中参数化的类型被替换后所生成的函数被称为模板函数。

√ 4. 函数模板中参数化的类型可以用任何一种类型代替。

√ 5. C++中的模板分为函数模板和类模板两种。

√ 6. 模板类是类模板的实例化。

× 7. 模板类在程序中不可以定义对象,或者说明函数的参数或返回值。

√ 8. 类模板的对象或对象引用可以用来作为函数的参数

√ 9. 类模板作为基类可生成派生的类模板。

× 10. 类模板不能被继承,但可以继承。

× 11. 如果类模板的模板类型参数有多个,除第1个模板类型参数前使用关键字class,其余的模板类型参数前都不使用关键字class。

√ 12. 定义类模板至少要确定一个模板类型参数。

11.2 单选题

1. 在下列函数模板的定义中,正确的是( B )。

A. template B. template

void fun(T, S); T fun(T, S);

C. template D. template

void fun(T); T fun(T, int);

2.已定义的函数模板如下:

template

T max(T a,T b)

{

return a>b ? a:b;

}

下列描述中,( C )是错误的。

A. 该函数模板只有一个模板类型参数

B. 该函数模板生成的模板函数中其参数和返回值的类型必须相同

C. 该函数模板生成的模板函数中,其参数和返回值类型可以不同

D. T类型所规定的类型范围对运算符“>”操作必须有定义

3. 在2题所定义的函数模板中,生成下列模板函数,( D )是错误的。

A. max(int, int) B. max(double, double)

C. max(char, char) D. max(int, double)

4. 关于函数模板,描述错误的是( A )。

A. 函数模板必须由程序员实例化为可执行的函数模板

B. 函数模板的实例化由编译器实现

C. 一个类定义中,只要有一个函数模板,则这个类是类模板

D. 类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化

5. 下列的模板说明中,正确的是( D )。

A. template B. template

C. template D. template

6. 在下列关于类模板的描述中,( A )是错误的。

A. 定义类模板时只允许有一个模板类型参数

B. 类模板的类体内说明的成员函数的实现都与函数模板类似

C. 由类模板生成特定的模板类时,必须指定参数化的类型所代表的类型

D. 类模板所描述的是一组类

7. 函数模板定义如下:

template

Max( T a, T b ,T &c)

{

c=a+b;

}

下列选项正确的是(B )。

A. int x, y; char z; B. double x, y, z;

Max(x, y, z); Max(x, y, z);

C. int x, y; float z; D. float x; double y, z;

Max(x, y, z); Max(x,y, z);

8. 下列有关模板的描述,错误的是( D )。

A. 模板把数据类型作为一个设计参数,称为参数化程序设计。

B. 使用时,模板参数与函数参数相同,是按位置而不是名称对应的。

C. 模板参数表中可以有类型参数和非类型参数。

D. 类模板与模板类是同一个概念。

9. 类模板的使用实际上是将类模板实例化成一个(C )。

A. 函数 B. 对象 C. 类 D. 抽象类

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值