精品文档
精品文档
实验
07
继承与派生(
4
学时?/p>
(第
7
?/p>
继承与派生)
一、实验目?/p>
(1)
学习声明和使用类的继承关系,声明派生类?/p>
(2)
熟悉不同继承方式下对基类成员的访问控制?/p>
(3)
学习利用虚基类解决二义性问题?/p>
二、实验任?/p>
7_1
声明一个基?/p>
Animal
?/p>
有私有整型成员变?/p>
age
?/p>
构造其派生?/p>
dog
?/p>
在其成员函数
SetAge(
int
n)
中直接给
age
赋值,看看会有什么问题,?/p>
age
改为公有成员变量,还会有问题吗?编程试试看?/p>
7_2
声明一个基?/p>
BaseClass
?/p>
有整型成员变?/p>
Number
,构造其派生?/p>
DerivedClass
,观察构造函数和析构函数的执
行情况?/p>
7_3
声明一个车
(vehicle)
基类?/p>
具有
MaxSpeed
?/p>
Weight
等成员变量,
Run
?/p>
Stop
等成员函数,
由此派生出自行车
(bicycle)
类、汽?/p>
(motorcar)
类。自行车
(bicycle)
类有高度
(Height)
等属性,汽车
(motorcar)
类有座位
?/p>
(SeatNum)
等属性。从
bicycle
?/p>
motorcar
派生出摩托车
(motorcycle)
类,在继承过程中?/p>
注意?/p>
vehicle
设置为虚基类?/p>
如果不把
vehicle
设置为虚基类?/p>
会有什么问题?编程试试看?/p>
7_4
以实?/p>
6
中的
People
(人员)类为基类?/p>
派生?/p>
student
(学生)类,添加属性:班号
char
classNo[7]
?/p>