C++面向对象程序设计习题 继承与派生2 下载本文

内容发布更新时间 : 2024/5/29 19:33:20星期一 下面是文章的全部内容请认真阅读。

继承与派生 练 习 题

1. 什么是继承性?为什么说它是面向对象程序中的重要机制? 2. C++中继承分为哪两个类?继承方式又分哪三种?

3. 三中继承方式中有哪些特点?不同基础更方式中派生类的对象对基类成员的访问

有何不同?

4. 如何定义单继承的派生类?如何定义多继承的派生类? 5. 派生类与基类之间有什么关系?

6. 单继承中,派生类的构造函数定义格式如何? 7. 多继承中,派生类的构造函数定义格式如何?

8. 多继承中,在哪些情况下会出现二义性?如何消除二义性?

9. 为什么要引入虚基类?带有虚基类的派生类的构造函数有什么特点?

作 业 题

一、选择填空

1.下列对派生类的描述中,( )是错的。

A.一个派生类可以作另一个派生类的基类; B.派生类至少有一个基类;

C.派生类的成员除了它自己的成员外,还包含了它的基类的成员; D.派生类中继承的基类成员的访问权限到派生类保持不变。 2.派生类的对象对它的基类成员中( )是可以访问的。

A.公有继承的公有成员; B.公有继承的私有成员; C.公有继承的保护成员; D.私有继承的公有成员。

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

A.基类的构造函数;

B.派生类中对象成员的初始化; C.基类的对象成员的初始化;

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

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

A. 析构函数不能被继承 B. 派生类也是基类的组合 C. 派生类的成员除了它自己的成员外,还包含了它的基类的成员 D. 派生类中继承的基类成员的访问权限到派生类保持不变

5 C++类体系中,不能被派生类继承的有( )。

A.构造函数 B.虚函数 C.静态成员函数 D.赋值操作函数

6 C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过()派生了新的类。

A.复用 B.继承 C.封装 D.引用

7设置虚基类的目的是( )。

A.简化程序 B.消除二义性

C.提高运行效率 D.减少目标代码

8 设有基类定义: Class Cbase

{ private: int a; protected: int b; public: int c; };

派生类采用何种继承方式可以使成员变量b成为自己的私有成员( ) A. 私有继承 B.保护继承

C. 公有继承 D.私有、保护、公有均可

二、判断下列描述是否正确,对者划√,错者划×。

1. C++语言中,既允许单继承,又允许多重继承。

2. 派生类是从基类派生出来,它不能再生成新的派生类。 3. 派生类的继承方式有两种:公有继承和私有继承。

4. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可访问的。 5. 在公有继承中,基类中只有公有成员对派生类对象是可访问的。 6. 在私有继承中,基类中只有公有成员对派生类是可访问的。

7. 在私有继承中,基类中所有成员对派生类的对象都是不可访问的。

8. 在保护中继承中,对于垂直访问同于公有继承,而对于水平访问同于私有继承。 9.构造函数可以被继承,析构函数不能被继承。

10.单继承情况下,派生类中对基类成员的访问也会出现二义性。