一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 2 分,共 40 分 )
1. 在 ( ) 情况下适宜采用 inline 定义内联函数。
a. 函数体含有循环语句
b. 函数体含有递归语句
c. 函数代码少、频繁调用
d. 函数代码多、不常调用
2. 在类中说明的成员可以使用关键字 ( ) 进行修饰。
a. private b. extern
c. auto d. register
3. 如果类 a 被说明成类 b 的友元,则 ( ) 。
a. 类 a 的成员即类 b 的成员
b. 类 b 的成员即类 a 的成员
c. 类 a 的成员函数不得访问类 b 的成员
d. 类 b 不一定是类 a 的友元
4. 定义析构函数时,应该注意 ( ) 。
a. 其名与类名完全相同 b. 返回类型是 void 类型
c. 无形参,也不可重载 d. 函数体中必须有 delete 语句
5. 在类中声明转换函数时不能指定 ( ) 。
a. 参数 b. 访问权限
c. 操作 d. 标识符
6. 在派生类中重新定义虚函数时必须在 ( ) 方面与基类保持一致。
a. 参数类型 b. 参数名字
c. 操作内容 d. 赋值
7. 在公有继承的情况下,基类成员在派生类中的访问权限 ( ) 。
a. 受限制 b. 保持不变
c. 受保护 d. 不受保护
8. 通过 ( ) 调用虚函数时,采用动态束定。
a. 对象指针 b. 对象名
c. 成员名限定 d. 派生类名
9. 在 int a=3,*p=&a; 中, *p 的值是 ( ) 。
a. 变量 a 的地址值 b. 无意义
c. 变量 p 的地址值 d. 3
10.c++ 类体系中,不能被派生类继承的有 ( ) 。
a. 转换函数 b. 构造函数
c. 虚函数 d. 静态成员函数
11. 假定一个类的构造函数为 a(int aa,int bb){a=aa++;b=a*bb++;} ,则执行 ax(4,5); 语句后, x.a 和 x.b 的值分别为 ( ) 。
a. 4 和 5 b. 5 和 4
c. 4 和 20 d. 20 和 5
12. 假定 ab 为一个类,则执行 ab x ;语句时将自动调用该类的 ( ) 。
a. 有参构造函数 b. 无参构造函数
c. 拷贝构造函数 d. 赋值构造函数
13.c++ 语言建立类族是通过 ( ) 。
a. 类的嵌套 b. 类的继承
c. 虚函数 d. 抽象类
14. 执行语句序列 ofstream outf( “ salary.dat ” ) ; if(...)cout<< “成功”; else cout<< “失败”;后,如文件打开成功,显示”成功”,否则显示”失败” . 由此可知,上面 if 语句的条件表达式是 ( ) 。
a. !outf 或者 outf.fail()
b.!outf 或者 outf.good()
c. outf 或者 outf.fail()
d. outf 或者 outf.good()
15. 静态成员函数不能说明为 ( ) 。
a. 整型函数 b. 浮点函数
c. 虚函数 d. 字符型函数
16. 在 c++ 中,数据封装要解决的问题是 ( ) 。
a. 数据规范化排列 b. 数据高速转换
c. 避免数据丢失 d. 保证数据完整性
17. 在 c++ 中有以下 4 条语句: static int hot=200;int &rad=hot;hot=hot+100;cout<a. 0 b. 100
c. 300 d. 200
18. 如果 class 类中的所有成员在定义时都没有使用关键字 pubilc,private,protected ,则所有成员缺省定义为: ( ) 。
a. public b. protected
c. private d. static
19.c++ 设置虚基类的目的是 ( ) 。
a. 消除二义性 b. 简化程序
c. 提高运行效率 d. 减少目标代码
20. 实现运行时的多态性用 ( ) 。
a. 重载函数 b. 构造函数
c. 析构函数 d. 虚函数
二、填空题 ( 每空 2 分,共 20 分 )
1. 派生类可以定义其 ________ 中不具备的数据和操作。