
编程语言课程作业参考答案
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本资源包含多种编程语言课程作业的答案与解析,旨在帮助学习者理解编程概念、提高代码编写能力,并提供实践案例以加深对理论知识的理解。
第 七 章 继承与派生
7-1 比较类的三种继承方式:public公有继承、protected保护继承、private私有继承之间的差别。
不同的继承方式,导致不同访问属性的基类成员在派生类中的访问属性也有所不同:
- 公有继承使得基类public(公有)和protected(保护)成员的访问属性在派生类中不变,而基类private(私有)成员不可访问。
- 私有继承使得基类public(公有)和protected(保护)成员都以private(私有)成员身份出现在派生类中,而基类private(私有)成员不可访问。
- 保护继承中,基类public(公有)和protected(保护)成员都以protected(保护)成员身份出现在派生类中,而基类private(私有)成员不可访问。
7-2 派生类构造函数执行的次序是怎样的?
派生类构造函数执行的一般次序为:
1. 调用基类构造函数;
2. 调用成员对象的构造函数;
3. 派生类的构造函数体中的内容。
7-3 如果在派生类B已经重载了基类A的一个成员函数fn1(),没有重载成员函数fn2(),如何调用基类的成员函数fn1()、fn2()?
调用方法为:
`A::fn1(); fn2();`
7-4 什么叫做虚基类?有何作用?
当某类的部分或全部直接基类是从另一个基类派生而来时,这些直接基类中从上一级继承来的成员拥有相同的名称。这时,在派生类的对象的内存中存在多个相同名字的成员拷贝。为解决这一问题,可以将共同的基类声明为虚基类。
在多继承情况下,设置虚基类的关键字可以在定义派生类时使用如下格式:
`class 派生类名:virtual 继承方式 基类名`
这表示直接基类从其上级继承来的成员只存在一个拷贝。这样可以避免同名成员的混淆问题。
7-5 定义一个Shape基类,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。
以下是定义相关类的例子:
```cpp
#include
全部评论 (0)


