内容发布更新时间 : 2024/11/5 15:47:39星期一 下面是文章的全部内容请认真阅读。
继承与派生 练 习 题
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.单继承情况下,派生类中对基类成员的访问也会出现二义性。