面向对象程序设计复习题

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

《面向对象程序设计》复习题

一、单项选择题

1. (A)是面向对象系统包含的要素。

A、类

B、多态

C、友元

D、重载

2. 下列对常量的定义中,错误的是(C)。

A、MyClass const obj(3,4);

B、char * const p="hello";

C、int &ref=2;

D、void show() const;

3. 若有如下函数声明:void Fun(int x);,则下列(D)能与该函数形成重载。

A、void Fun(int y);

B、void Fun(int x,int y='1');

C、int Fun(int x);

D、void Fun(int) const;

4. 下列对构造函数和析构函数的描述中,错误的是(B)。

A、构造函数可以重载

B、析构函数名与类名相同

C、构造函数中可以设置参数的缺省值

D、类中只有一个析构函数

5. 下列对友元的描述中,错误的是(C)。

A、友元破坏了类的封装性

B、友元提高了程序的运行效率

C、友元可以在类外声明和定义

D、友元能够访问类中的私有成员

6. 下列对继承的描述中,正确的是(A)。

A、公有派生类对象能够访问基类的公有成员

B、派生类只继承了基类的公有成员和保护成员

C、派生类对象不能访问基类的保护成员

D、派生类不改变基类成员的访问权限

7. 程序中,编译时出错的语句是(D)。

class Base{ };

class Derived : public Base { };

Derived objD1;

Base objB=objD1; //A

Base *pb=&objD1; //B

Base &refB=objD1; //C

Derived objD2=objB; //D

8. 下面对派生类的描述中,正确的是(B)。

A、派生类是对基类的抽象

B、一个派生类可以作为另一个派生类的基类

C、派生类只能有一个直接基类

D、派生类的缺省继承方式是public

9. 实现动态联编必须通过(A)调用虚函数。

A、基类引用

B、类名

C、对象名

D、构造函数

10. C++流中重载的运算符>>,是一个(B)。

A、用于输出操作的非成员函数

B、用于输入操作的非成员函数

C、用于输出操作的成员函数

D、用于输入操作的成员函数

11. (A)不是基于对象系统包含的要素。

A、多态

B、对象

C、类

D、继承

12. 下列对常量的定义中,错误的是(C)。

A、int const size=10;

B、char * const p="Good Luck";

C、void const print();

D、const MyClass obj(10,10);

13. 设Address表示整型变量x的地址,则下列语句执行后的输出结果为(D)。

int x=100,&r=x;

cout<

A、Address-100

B、100-Address

C、Address-Address

D、100-100

14. 若函数原型为void Fun(int x=9,int y=8,char z='7'),则下列调用错误的是(B)。

A、Fun()

B、Fun(“hello”)

C、Fun(1,2)

D、Fun(2,4, 'a')

15. 若有如下函数声明:void Fun(int x);,则下列(C)不能与该函数形成重载。

A、void Fun(int x,int y);

B、void Fun(double x);

C、void Fun(int x,int y=1);

D、void Fun(int x) const;

16. 下列对构造函数和析构函数的描述中,正确的是(A)。

A、析构函数不可以重载

B、构造函数不能定义为内联函数

C、构造函数中不能设置参数的缺省值

D、析构函数名与类名相同

17. 下面对静态成员的描述中,错误的是(C)。

A、静态数据成员的提出是为了解决数据共享问题

B、静态数据成员的初始化在类体外进行

C、类的不同对象有不同的静态数据成员值

D、静态成员函数可以直接访问类中的静态数据成员

18. 下列对友元的描述中,正确的是(D)。

A、友元可以在类外声明和定义

B、友元降低了程序的运行效率

C、友元不能访问类中的保护成员

D、友元破坏了类的封装性

19. 下列对继承的描述中,错误的是(C)。

A、派生类对象不能访问基类的保护成员

B、派生类对基类成员的访问权限随着继承方式而改变

C、派生类成员可以访问基类的私有成员

D、派生类继承了基类的所有数据成员

20. 程序中,编译时出错的语句是(D)。

class Base{ };

class Derived : public Base { };

Derived objD1;

Base objB=objD1; //A

Base *pb=&objD1; //B

Base &refB=objD1; //C

相关文档
最新文档