实验3 继承与派生
班级 学号 姓名
[实验目的]
1、了解继承在面向对象程序设计中的重要作用;
2、进一步理解继承与派生的概念;
3、学会通过继承派生出一个新类的方法。
[实验要求]
给出以下各实验内容的源程序代码,并把编译、运行过程中出现的问题以及解决方法填入实验报告中,按时上交。
[实验学时]2学时。
[实验内容]
- 声明一个人员类(Person ),包括3个数据成员:name(姓名)、age(年龄)、sex(性别);2个成员函数:构造函数和输出相关信息的函数display()。利用单继承的方式声明一个学生(Student)派生类,其中增加2个数据成员:grade(年级)、score(总学分);3个成员函数:构造函数、输出函数show()和增加学分的函数add()。在定义派生类对象时给出初始化的数据,然后输出这些数据。
2、分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:
① 在两个基类中都包含姓名、出生日期(日期类Date的子对象)、性别、地址、电话等数据成员。
② 在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务), 在Teacher_Cadre类中还包含数据成员wages(工资)。
③ 对两个基类中的姓名、出生日期、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。
④ 在类体中声明成员函数,在类外定义成员函数。
⑤ 在派生类Teacher_Cadre的成员函数show()中调用Teacher类中的display()函数,输出姓名、出生日期、性别、职称、地址、电话,然后再用cout语句输出职务与工资。
[实验总结]给出对本次实验的总结。
本次实验让我了解继承在面向对象程序设计中的重要作用,同时进一步理解继承与派生的概念,并学会通过继承派生出一个新类的方法。