首页>计算机>软件水平考试>模拟试题>正文
面向对象程序设计试题(三)

www.zige365.com 2010-7-5 15:48:45 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
一、单项选择题 ( 本大题共 10 小题,每小题 2 分,共 20 分 ) 
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 
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! ”输出到一个文件中,然后再从该文件输入,并显示在屏幕上,显示效果为 look out! 。程序中有一处错误,请用下横线标出错误所在行,并给出更改意见。 
# include 
void main(){ 

本新闻共2页,当前在第1页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
面向对象程序设计试题(二)
面向对象程序设计试题(一)