第十一章 继承与派生 复习题

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

第十一章继承与派生复习题

1. 下面叙述错误的是( )

A. 派生类可以使用private派生

B. 对基类成员的访问必须是无二义性的

C. 基类成员的访问能力在派生类中维持不变

D. 赋值兼容规则也适用于多继承的组合

2.派生类的对象对它的基类成员进行访问,可以采用对象.或者对象指针-〉的

方式访问的是( )

A. 公有继承的公有成员

B. 公有继承的私有成员

C. 公有继承的保护成员

D. 私有继承的公有成员

3. 当私有继承时,在派生类中成为私有成员,不能通过派生类的对象来直接访

问该成员是基类的()

A. 任何成员

B.公有成员和保护成员

C. 保护成员和私有成员

D.私有成员

4. C++的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运

行;另一种是通过()

A. 复用派生出新的类

B. 继承派生出新的类

C. 封装派生出新的类

D. 引用派生出新的类

5.当保护继承时,在派生类中成为保护成员,不能通过派生类的对象来直接访

问的成员是基类的()

A.任何成员

B.公有成员和保护成员

C.保护成员和私有成员

D.私有成员

6.类B的数据成员中“有一个”A类的对象,这种类之间的关系是( )

A.继承关系

B.间接关系

C.组合关系

D.直接关系

7. 派生类的构造函数的成员初始化列表中,不能包含( )

A. 基类的构造函数

B. 派生类中子对象的初始化

C. 基类中子对象的初始化

D. 派生类中一般数据成员的初始化

8 公有成员提供了类对外部的接口,私有成员是类的内部实现,而不允许外界

访问,但允许派生类访问的成员是( )

A. 公有成员

B. 私有成员

C. 私有成员

D. 保护成员

9. 当公有继承时,在派生类中成为保护成员,不能通过派生类的对象来直接访

问的成员是基类的( )。

A.任何成员

B.公有成员和保护成员

C.保护成员和私有成员

D.保护成员

10. 类B的对象必定是类A的对象,但是类A的对象却不属于类B,则类B和

类A之间的关系是( )

A.组合关系

B.间接关系

C.继承关系

D.直接关系

11. 派生可以分为公有派生和私有派生。由私有派生得到的派生类,其基类的所

有公有成员都只能成为它的( )

A. 公有成员

B. 私有成员

C. 保护成员

D.公有成员或保护成员

12. 当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类

的成员,即继承具有( )

A. 规律性

B. 传递性

C. 重复性

D. 多样性

13. 利用继承能够实现。这种实现缩短了程序的开发时间,促使

开发人员复用已经测试和调试好的高质量软件。软件复用

14 在类中定义和实现的函数称为。当撤消一个含有基类和子对象

成员的派生类对象时,将首先完成的析构函数定义体的执行。成员函数; 派生类

15. 继承情况下,派生类的构造函数的执行顺序取决于派生类时

所指定的各基类的顺序。定义

16. 当用protected继承类时,基类的public成员成为派生类的成员,protected成员成为派生类的成员。28. protected protected

17. 派生类的对象可作为基类的对象处理,派生类对象指针不能指向对象。

基类

18. 在面向对象的程序设计中,通过封装实现数据隐藏;通过实

现代码的复用。类继承中,缺省的继承方式是。继承私有继承

19.仔细阅读程序,写出其运行结果。

#include

using namespace std;

class Student

{public:

void get_value();

void display( );

protected :

int num;

char name[10];

char sex;

};

void Student::get_value()

{num=1;strcpy(name,"abcd");sex='f';}

void Student::display( )

{cout<<"num: "<

cout<<"name: "<

cout<<"sex: "<

}

class Student1: protected Student {public:

void get_value_1();

void display1( );

private:

int age;

};

void Student1::get_value_1()

{get_value();

age=20;

}

void Student1::display1( )

{cout<<"num: "<

cout<<"name: "<

cout<<"sex: "<

cout<<"age: "<

}

相关文档
最新文档