面向对象程序设计试卷(D)

  • 格式:doc
  • 大小:133.50 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

公 安 海 警 学 院

《 面向对象程序设计 》考试(查)卷( D 卷)

(2012—2013学年第一学期)

考核类型: ;考核年级: ; 考试时间: 分钟 考试须知

公安海警学院学员参加学院组织的各类考试必须严格遵守考场纪律。有考试违纪作弊行为者,严格按照学院有关规定进行处理。

各考场排定的监考教员,必须认真履行监考职责,确保考场正常秩序。 阅卷教员要依照批阅试卷程序与规定,公平公正地完成好阅卷工作。

一、填空题(共10分,每空1分)

1.面向对象程序设计将数据及对数据的 操作 放在一起,作为一个相互依存,不可分割的整体来处理,即对象。

2.为了使类中的成员不能被类外的函数访问,则应把该成员的访问权限定义为 私有的或受保护的 属性。

3.在C++中,声明布尔类型变量所用的关键字是__ bool __。 4.C++中定义常量的关键字是 const 。

5.C++中进行输入、输出操作时,将数据对象从输入流提取出来的运算符是“>>”,插入到输出流的运算符是__ << __。

6.类的继承是指子类继承基类的_ 数据成员 __和成员函数。

7.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为__ 多态性 __。 8.设类A 有成员函数void Fun(void);若要定义一个指向类成员函数的指针变量pafn 来指向Fun ,该指针变量的声明语句是:__ void (A ::*pafn )(viod ) ; __。 9.在保护派生中,基类权限为Private 的成员在派生类中__ 不可访问 __。

10.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的__ 首地址 _。 二、选择题(共30分,每题2分)

1.C++对C 语言作了很多改进,下列描述中( D )使得C 语言发生了质变,即从面向过程变成了面向对象。

A .增加了一些新的运算符

B .允许函数重载,并允许设置默认参数

C .规定了函数说明必须用原型

D .引进了类和对象的概念

2.在C++中使用流进行输入输出,其中用于屏幕输出的对象是( C ) A .cerr B .cin C .cout D .cfile

3.对使用关键字new 所开辟的动态存储空间,释放时必须使用( C )

A .free

B .create

C .delete

D .realse

4.用C++中定义一个类,当没有明确指定成员的访问权限时,则系统约定该成员为( C ) A .public B .protected C .private D .friend 5.C++的继承性允许派生类继承基类的( A )

A .部分特性,并允许增加新的特性或重定义基类的特性

B .部分特性,但不允许增加新的特性或重定义基类的特性

C .所有特性,并允许增加新的特性或重定义基类的特性

D .所有特性,但不允许增加新的特性或重定义基类的特性 6.类的私有成员可在何处访问( D ) A .通过子类的对象访问 B .本类及子类的成员函数中 C .通过该类对象访问 D .本类的成员函数中 7.一个类可包含析构函数的个数是( B )

A .0个

B .1个

C .至少一个

D .0个或多个

8.this 指针存在的目的是( B )

A .保证基类公有成员在子类中可以被访问

B .保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码

C .保证基类保护成员在子类中可以被访问

D .保证基类私有成员在子类中可以被访问

9.下列关于类的权限的描述错误的是( A ) A .类本身的成员函数只能访问自身的私有成员 B .类的对象只能访问该类的公有成员

C .普通函数不能直接访问类的公有成员,必须通过对象访问

D .一个类可以将另一个类的对象作为成员 10.关于虚函数,下列说法正确的是( A )

A. 虚函数在基类中说明后,不用再在派生类中重新说明

B. 包含有虚函数的基类称为抽象基类

C. 每个派生类必须对从基类继承的虚函数进行重新重定义

D. 包含虚函数的类不能够生成实例对象

11.设类A 将其它类对象作为成员,则建立A 类对象时,下列描述正确的是( B ) A .A 类构造函数先执行 B .成员构造函数先执行 C .两者并行执行 D .不能确定 12.下列描述错误的是( A )

A .在创建对象前,静态成员不存在

B .静态成员是类的成员

C .静态成员不能是虚函数

D .静态成员函数不能直接访问非静态成员 13.对于友元描述正确的是( B )

A .友元是本类的成员函数

B .友元不是本类的成员函数

C .友元不是函数

D .友元不能访问本类私有成员

14.可以在派生类的成员函数中访问基类的非私有成员,并能通过派生类的对象直接访问基类公有成员的派生方式是( A )

A .public

B .protected

C .private

D .friend

15.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( A ) A .编译器总是自动创建一个不带参数的构造函数 B .这个类没有构造函数 C .这个类不需要构造函数 D .该类不能通过编译 三、判断题(共10分,每题1分)

线

1.一个可执行的C++语言程序可以包含若干个函数,但至少必须包含一个main()函数。( 对 )

2.C++中,在定义函数时的参数是“形式参数”,在调用函数时的参数是“实际参数”。( 对 )

3.在变量定义int sum,SUM;中sum 和SUM 是两个相同的变量名。( 错 ) 4.重载运算符保持原运算符的优先级和结合性不变。( 对 ) 5.只要是类M 继承了类N ,就可以说类M 是类N 的子类型。( 错 ) 6.在公有继承中,基类中只有公有成员对派生类的对象是可见的。( 对 ) 7.可以在类的构造函数中对静态数据成员进行初始化。( 错 ) 8.静态类标识符在它的作用域之外是不存在的。( 错 ) 9.如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函数。( 对 ) 10.通过使用new 和delete 两个运算符进行的分配为静态存储分配。( 错 ) 四、程序分析题(共20分,每题5分) 给出下面程序的输出结果。 1.#include void fun(int a,int b=7,int c=9) { cout<<"a="<

fun(1,3);

fun(1,3,5); } 2. #include class B{ public: B(int i){ b=i+50; show();} B(){} virtual void show() { cout<<"B::show()被调用

."<

} 3.#include int f(int a); void main() { int a=2,i; for(i=0;i<3;i++) cout< void main( ) {int x=5,y=8,*px,*py; px=&x,py=&y; cout<<"num1=”<<*px<<’,’<<”num2="<<*py<

1. class test{ private: int num; public: