实 验 报 告
课程名称: 面向对象程序设计(C++) 实验名称: 类的多重/层继承和派生 院 (系): 专业班级: 姓 名: 学 号: 指导教师:
2018年 10月 30日
《面向对象程序设计(C++)》实验报告
课程名称:面向对象程序设计(C++) 实验项目名称:类的多重/层继承和派生 实验类型:综合型实验
实验地点:草堂机房 实验日期: 2018年10月30 日 一、实验目的
(1)掌握类的多重继承和多层继承的声明方式及使用方法; (2)掌握类多重和多层继承和派生的构造函数和析构函数使用方法; (3)掌握多重继承二义性处理的方法; (4)掌握虚基类的使用方法;
二、实验内容和要求
分别定义Person类,Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。要求:
(1)在Person类中含姓名、年龄、性别、电话等私有数据成员。在Teacher类中还包含私有数据成员title(职称),在Cadre类中还包含私有数据成员post(职务),在Teacher_Cadre类中还包含私有数据成员wages(工资)。
(2)在Person类为Teacher类和Cadre类的直接基类;Teacher类和Cadre类为Teacher_Cadre类的直接基类;
(3)使用虚基类方法继承Person类;
(4)每个类都分别有有参和无参构造函数、数据成员输出函数;
(5)分别创建Teacher_Cadre的无参对象和有参对象;(无参对象的数据成员从键盘输入完成构造),并分别输出两个对象的所有数据成员。 三、实验硬件、软件环境
1, PC计算机一台,配置为CPU为P4 2.8G,内存为512M,硬盘为80G; 2, WindowsXP , VC++6.0 。
四、实验设计(程序代码)
#include
Person(string nam,int a,char s,string t) {name=nam; age=a; sex=s; tel=t;
cout<<\}
void get_value() {cin>>name; cin>>age; cin>>sex; cin>>tel; }
void display()
{cout<<\ cout<<\ cout<<\ cout<<\} private: string name; int age; char sex; string tel; };
Person::Person() {name=\ age=20; sex='m'; tel=\}