南京邮电大学C++实验(二)继承与派生实验(仅参考)
(作者有话说:文章包含的代码运行结果可能与图片结果有所差异,请根据自己的需要进行修改)
实验名称:类和对象的定义及使用
一、实验目的和要求
(1)掌握单继承和多重继承下派生类的定义方法,理解基类成员在不同的继承方式下不同的访问属性。
(2)正确定义派生类的构造函数与析构函数,理解定义一个派生类对象时各个构造函数、析构函数被调用的顺序。
(3)正确定义虚基类,消除在多层次多重继承方式下顶层基类中成员访问的二义性问题,关注此时各构造函数、析构函数的调用顺序。
(4)通过基类与公有派生类的定义,及基类对象、指针、引用与派生类的对象、地址间相互赋值的方法,正确理解赋值兼容的4种情况,通过程序理解其不可逆性。
二、实验环境(实验设备)
硬件: 微型计算机
软件: Windows 操作系统、Microsoft Visual Studio 2010
三、实验原理及内容
实验题目1: 定义一个车基类,派生出自行车类和汽车类,又以自行车类和汽车类为基类共同派生出摩托车类,每个类都要定义带有参数的构造函数。对自行车类继承车基类的方式分别用private、protected、public,观察基类成员在派生类中的访问属性;观察自行车类、汽车类和摩托车类对象定义时构造、析构函数的调用顺序。最后将车基类定义为虚基类再观察程序运行结果。
实验解答:
① 根据提示进行填写完整实验指导204页代码对应位置内容如下:
( 1 ) MaxSpeed = m;
( 2 ) Weight = w;
( 3 ) Vehicle(m, w)
( 4 ) Height = h;
( 5 ) Vehicle::Show();
( 6 ) cout