计算机技术与软件水平考试面向对象程序设计试题(3)内容简介
计算机技术与软件水平考试面向对象程序设计试题(3)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. 下列特性中, C 与 C++ 共有的是 ( )
A. 继承 B. 封装
C. 多态性 D. 函数定义不能嵌套
2. 通常情况下,函数模板中的类型参数个数 不能 是 ( )
A.0 B.2
C.4 D.3
3. 在下列成对的表达式中,运算符“ + ”的意义 不相同 的一对是 ( )
A.5.0+2.0 和 5.0+2 B.5.0+2.0 和 5+2.0
C.5.0+2.0 和 5+2 D.5+2.0 和 5.0+2
4. 类的指针成员的初始化是通过函数完成的,这个函数通常是 ( )
A. 析构函数 B. 构造函数
C. 其它成员函数 D. 友元函数
5. 要禁止修改指针 p 本身,又要禁止修改 p 所指向的数据,这样的指针应定义为 ( )
A.const char *p= “ ABCD ”; B.char const *p= “ ABCD ”;
C.char *const p= “ ABCD ”; D.const char * const p= “ ABCD ”;
6. 静态成员函数 没有 ( )
A. 返回值 B.this 指针
C. 指针参数 D. 返回类型
7. 当一个类的某个函数被说明为 virtual 时,该函数在该类的所有派生类中 ( )
A. 都是虚函数
B. 只有被重新说明时才是虚函数
C. 只有被重新说明为 virtual 时才是虚函数
D. 都不是虚函数
8. 下面叙述 不正确 的是 ( )
A. 派生类一般都用公有派生
B. 对基类成员的访问必须是无二义性的
C. 赋值兼容规则也适用于多重继承的组合
D. 基类的公有成员在派生类中仍然是公有的
9. 在 C++ 中实现封装是借助于 ( )
A. 枚举 B. 类
C. 数组 D. 函数
10. 所有在函数中定义的变量,都是 ( )
A. 全局变量 B. 局部变量
C. 静态变量 D. 寄存器变量
二、填空题 ( 本大题共 10 小题,每小题 2 分,共 20 分 )
不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。
11. 设函数 max 是由函数模板实现的,并且 max(3.5,5) 和 max(10,5) 都是正确的函数调用,则该模板具有 ______ 个类型参数。
12. 在单继承和多继承方式中,面向对象的程序设计应尽量使用 ______ 继承。
13. 语句序列
ifstrEAM datafile ;
datafile.open( “ data.dat ” ) ;
的功能可用一个语句实现,这个语句是 ______ 。
14. 将关键字 const 写在函数头之后,函数体之前,说明该函数是一个 const 成员函数。此时 const 不是指定函数的返回值,而是修饰 ______ 指针。
15. 一个抽象类的派生类可以实例化的必要条件是实现了所有的 ______ 。
16. 在 C++ 中,虚函数帮助实现了类的 ______ 性。
17. 通过 C++ 语言中类的 ______ ,可以扩充和完善已有类以适应新的需求。
18. 为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义 ______ 。
19. 在联合中,所有数据成员具有 ______ 的地址,任一时刻只有 ______ 个数据成员有效。
20. 在已经定义了整型指针 ip 后,为了得到一个包括 10 个整数的数组并由 ip 所指向,应使用语句 ______ 。
三、改错题 ( 本大题共 5 小题,每小题 2 分,共 10 分 )
21. 下面的类定义有一处错误,请用下横线标出错误所在行并改正错误。
class A{
int a;
public;
A(int aa):a=aa{ }
};
22. 下面的程序先把字符串“ Look out! ”输出到一个文件中,然后再从该文
..............................
下一篇:1999年度程序员上午试卷含答案
计算机技术与软件水平考试面向对象程序设计试题(3)简介结束,下载后阅读全部内容