第五章 继承与派生:在第4章中介绍了类和对象的概念和应用。类可以把数据和操作封装在一个类体中,一个对象成为一个独立的实体。对象是类的一个实例。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对象的设计。对于C++程序而言,设计孤立的类是比较容易的,难的是正确设计基类及其派生类。继承是面向对象程序设计中最重要的机制。面向对象程序设计的继承机制提供了无限重复利用程序资源的一种途径。通过C++语言中的继承机制,可以扩充和完善旧的程序设计以适应新的需求,这样不仅可以节省程序开发的时间和资源,并且为未来程序设计增添了新的资源。继承机制为描述客观世界的层次关系提供了直观、自然和方便的描述手段,定义的新类可以直接继承类库中定义的或其他人定义的高质量的类,而新的类又可以成为其他类设计的基础,这样软件重用就变得更加方便、自然。本章围绕派生过程,着重讨论了不同继承方式下的基类成员的访问控制问题和构造函数、析构函数调用顺序问题;接着还讨论了多继承下的二义性问题以及使用虚基类解决二义性的方法。5.1继承与派生:继承与派生的概念、继承的种类、派生类的声明
5.2派生类的访问控制:public继承、private继承、protected继承
5.3派生类的构造函数与析构函数:派生的构造函数、派生类的析构函数、构造和析构的调用次序
5.4多继承:多继承的概念、多继承中的二义性、二义性的解决方法
5.5虚基类概念:虚基类的概念、虚基类的构造与析构、赋值兼容性规则
5.6虚基类的构造与析构:虚基类的构造函数;虚基类的析构函数
5.7赋值兼容规则:赋值兼容规则
[单选题]关于this指针使用说法正确的是()。

选项:[保证基类保护成员在子类中可以被访问。

, 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码

, 保证基类公有成员在子类中可以被访问。

, 保证基类私有成员在子类中可以被访问。

]
[单选题]假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()。

选项:[X,YX,Y

, Y,XY,X

, Y,XX,Y

, X,YY,X

]
[单选题]对基类和派生类的关系描述中,错误的是()。

选项:[派生类是基类的具体化

, 派生类是基类定义的延续

, 基类继承了派生类的属性

, 派生类是基类的特殊化

]
[单选题]以下基类中的成员函数表示纯虚函数的是()。

选项:[virtual void tt(int){ }

, void tt(int)=0

, virtual void tt()=0

, virtual void tt(int)

]
[单选题]关于类的静态成员函数描述错误的是(       )。

选项:[不能说明为虚函数

, 不能直接访问非静态函数

, 在创建对象前不存在

, 不是对象的成员

]
[判断题] 如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。

选项:[对, 错]
[单选题]在私有继承的情况下,基类的公有成员在派生类对象中的访问权限(   )。

选项:[受限制

, 保持不变

, 受保护

, 不受保护

]
[单选题]下面叙述不正确的是()。

选项:[赋值兼容规则也适用于多重继承的组合

, 基类的公有成员在派生类中仍然是公有的

, 派生类一般都用公有派生

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

]
[单选题]如果从原有类定义新类可以实现的是()。

选项:[数据抽象

, 数据封装

, 信息隐藏

, 继承机制

]
[单选题]在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()。

选项:[私有成员

, 保护成员或私有成员

, 保护成员

, 公有成员

]

温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!
点赞(0) dxwkbang
返回
顶部