原题目为: 一个教学系统至少有学生和教师两种类型的人员,假设教师的数据有教师编号、姓名、年龄、性别、职称和系别,学生的数据有学号、姓名、年龄、性别、班级和语文、数学、英语三门课程的成绩。编程完成学生和教师档案数据的输入和显示。要求如下:设计三个类Person、Teacher、Student,Person是Teacher和Student的基类,具有此二类共有的数据成员姓名、年龄、性别,并具有输入和显示这些数据的成员函数;Teacher类继承了Person类的功能,并增加对教师编号、职称和系别等数据成员进行输入和显示的成员函数。按同样的方法完善Student类的设计。 对本题目进行以下扩展: 教师分为普通教师(Teacher)、院长(Chancellor)和系主任(Dean)三类。所有教师都有基本工资(salary),普通教师的总收入income由基本工资和课时费构成。一个教师要管理若干学生,而一个学生只有一位教师作导师;院长和系主任都从普通教师中产生,院长的总收入由年薪和基本工资构成,系主任的总收入由基本工资和每有绩效构成。他们每年须完成指定课时的教学任务,但不计课时报酬。上述各类人员的基本关系如下图所示。设计并编程实现各类。 设计要求: 1、各类中的inputData、outData、getSalary\setSalary、getIncome为虚函数,要求能够以Person为接口访问各类的inputData\outData虚函数,实现多态。2、用STL中的vector或list管理Person对象指针或引用,管理继承体系中的对象,实现体现多态编程特征。同类对象可以按年龄排序。3、友元重载各类对象的输出运算符(operator<<),能够通过cout直接输出各对象的相应信息,输出信息与各类的outData成员函数的输出相同。4、用STL中的vector、list、set、map等某种容品实现5名教师,8名学生,2名系主任,1名院长的信息管理,包括数据输入、输出、查询、删除,以及导师指导的学生信息管理(如增加、删除、查询指导的学生)和学生的导师信息管理(如增加、删除、查询、更改导师信息等)。5、通过容器对保存在其中的对象进行排序(或通过STL中的通用排序算法sort 对保存在STL容器中的对象进行排序)。
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,目前超出我们的服务范围,暂时无法为您解答。
首次提问人员可免费体验一次有问必答服务。目前首次提问的问题服务范围为:编程语言、Java开发、python、数据库、前端开发 领域专业技术问题,为您提供问题的解决思路和指导。不提供源码代写、项目文档代写、论文代写、安装包资源发送或安装、软件使用指导等服务。
我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。