C++习题3(继承和多态)

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

一、选择题

1. 在C++中,类与类之间的继承关系具有(C )

A)自反性B)对称性C)传递性D)反对称性

2. 在公有继承的情况下,基类的成员(私有的除外)在派生类中的访问权限(B

A)受限制B)保持不变C)受保护D)不受保护

3. 按解释中的要求在下列程序划线处填入的正确语句是:

(C )

#in elude

class Base{ public:

void fun(){cout

};

class Derived:public Base{

public :

void fun ()

{ _______ // 在此空格处调用基类的函

数fun()

cout<<"Derived::f un "<

};

A)fu n(); B)Base.fu n(); C)Base::fu n ();

D)Base->fun();

4. 在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限(C )

A)受限制B)保持不变C)受保护D)不受保护

5. 在哪种派生方式中,派生类可以访问基类中的protected 成员(B )

A)public 禾口private B)public 、protected 禾口

private

C)protected 禾口private D)仅protected

6. 当一个派生类仅有protected继承一个基类时,基类中的所有公有成员成为派生类的(C)

A) public 成员B) private 成员C) protected

成员D) 友元

7. 不论派生类以何种方法继承基类,都不能使用基类的(B )

A) public 成员B) private 成员C) protected 成员D) public 成员和protected 成员

8 下面叙述错误的是( S )。

A) 基类的protected 成员在派生类中仍然是protected 的

B) 基类的protected 成员在public 派生类中仍然是protected 的

C) 基类的protected 成员在private 派生类中是private 的

D) 基类的protected 成员不能被派生类的对象访问

9. 下列说法中错误的是( S )。

A) 保护继承时基类中的public 成员在派生类中仍是public 的

B) 公有继承时基类中的private 成员在派生类中仍是private 的

C) 私有继承时基类中的public 成员在派生类中是private 的

D) 保护继承时基类中的public 成员在派生类中是protected 的

10下面叙述错误的是( C)。

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

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

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

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

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

A) 基类的构造函数B) 派生类中子对象

的初始化

C) 基类中子对象的初始化D) 派生类中一般数

据成员的初始化

12. 下列虚基类的声明中,正确的是: ( B )

A)class virtual B: public A B)class B: virtual

public A

C)class B: public A virtual D)virtual class B:

public A

13..实现运行时的多态性采用(D )

A)重载函数B)构造函数C)析构函数D)虚函数

14. 若一个类中含有纯虚函数,则该类称为(D )

A)基类B)纯基类C)派生类D)抽象类

15. 假设A为抽象类,下列声明(B )是正确的

A) A fun(in t); B) A *p; C) int fun (A); D) A Obj;

16. 在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值(B)

A)不同B)相同C)相容D)部分相同

17. 下面函数原型声明中,(C)声明了fun为普通虚函数

A) void fun()=0; B) virtual void fun()=0;

C) virtual void fun(); D) virtual void fun(){};

18. 在下面四个选项中,(A)是用来声明虚函数的。

A)virtual B)public C)usi ng D)false

19. 实现运行时的多态性要使用(D)。

A)重载函数B)构造函数

C)析构函数D)虚函数

20. 关于虚函数的描述中,正确的是(D)。

A)虚函数是一个静态成员函数

B)虚函数是一个非成员函数

C)虚函数既可以在函数说明时定义,也可以在函数实现时定义D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型

二、填空题:

1. 派生类对基类的继承有三种方式:_public_ __ 、_protected __ __ 和__private __ __ 。

2. 如果类Alpha继承了类Beta,则类Alpha称为__派生——类,类Beta称为__基 _类。

3. 设置虚基类的目的是为了消除二义性,可通过

_virtual 标识虚基类。

相关文档
最新文档