1、C+第四次实验报告姓名 缪佳能学号22201433210187实验项目派生类与继承实验目的和内容#includeclass Person char *name; char *sex; int age;public: Person(char *n,char *s,int a) name=n; sex=s; age=a; Person() delete name; void print() cout姓名:name性别:sex年龄:ageendl; ;class Student:public Person char *sno; char *xi; double fen;public: Student
2、(char *sn,char *x,double f,char *n,char *s,int a):Person(n,s,a) sno=sn; xi=x; fen=f; void print() cout学生的编号:sno学生的系列:xi学生的成绩:fenendl; Person:print(); ;class Teacher:public Person char *num; char *job; int depart;public: Teacher(char *nu,char *j,int d,char *n,char *s,int a):Person(n,s,a) num=nu; job=
3、j; depart=d; void print() cout老师的编号:num老师的职称:job老师的部门:departendl; Person:print(); ;int main() Student m(122515,ji,98,li,gril,21); m.print(); Teacher b(12,math,98,wang,gril,35); b.print(); return 0;程序实现和结果分析:1. 2.3.1).2).3).4).5).程序分和设计第三题:定义一个基类,用指针作为数组名,定义一个数组,在定义各个基类,分别实现求平均值,排序,倒置的功能。在调用成员时由于各个派生
4、类都有基类的成员input,output,故用虚基类,避免出现二异性。队列具有先进先出的特点,所有新来的元素都放在队列尾部,出队列的元素从队列头部出去。栈具有后进先出的特点,所有入栈的元素都放在栈顶,出栈时栈顶元素先出。这两种结构具有很多相似的地方:都存放了一系列的元素,元素的操作都在两头进行,元素个数都是动态可变的。我们可以设计一个基类,完成它们共同的功能,然后分别派生出队列类和栈类。这样可以减少代码,提高效率。设计的基类也可以用于派生出其他运行结果结果已在上面实验总结本次实验较为复杂,按照书本的知识编辑的。暴露平时学的少的问题,程序看的少的问题,自己下来要多去看派生类与继承的关系,不同继承方式下的访问属性。二义性的问题,以及继承方式下的构造函数与析构函数的执行顺序与构造规则等知识。太多的知识需要我去学习。