文档库

最新最全的文档下载
当前位置:文档库 > c++期末大作业

c++期末大作业

C++语言是面向对象的语言,它可以相当方便并且十分有效地帮你达到目的。与C相比,C++定义了类这种对象的组织形式,提供了程序在不同部分之间更好的共享数据及进行函数控制的方法。封装不仅提供了更大范围的控制,而且使得在源代码中公有/私有区别更加清晰。多态完成了分散化控制,重载(函数重载、运算符重载)实现了使用同一运算符实现不同功能,使得程序更简便。

以下列程序的实现为例具体说明。

学校人员信息管理程序,管理学生和教师的基本信息。程序完成功能:

(1) 分类浏览 (2) 增加(3) 查询 (4)输出到文件(5)其他

要求:

1、定义一个学生类Student。需要存储每个学生的姓名、学号、性别等信息。定义教师类Teacher,存储每个教师的编号、姓名、性别、职称等信息。定义抽象类Person,保存人员的基本信息,如姓名、性别等。定义一个班级类Class,每个学生在一个班级中学习,每个教师负责多个班级的教学辅导。

2、定义各类的成员函数:分别实现获取、修改信息等相关操作。

3、通过在基类Person建立纯虚函数,实现按姓名输出教师或学生的信息。

4、重载流提取运算符,使能对Student类的对象进行输出操作。

5、根据需要,适当添加其他必要的数据成员和成员函数,如构造函数、拷贝构造函数、析构函数、运算符重载,按学号或姓名排序等。

分析:

学校人员包括学生和教师,学生和教师都应该储存姓名、性别、年龄、身份证号码等基本信息,初步可以建立三个类,可建立抽象类Person,用于实现姓名、性别、身份证号码、电话等基本信息的储存。学生与教师的区别在于学生有学号,只有一个所在班级,而教师有职称,编号,每个教师会负责多个班级。定义学生类Student,继承Person类的功能,增加学生的学号、所在班级、宿舍号;定义教师类Teacher,继承Person类的基本功能,增加教师的编号、职称。另外需定义一个班级类Class,每个学生属于一个班级,可用一个成员函数X实现,一个教师负责多个班级的教学辅导,可用成员函数Y来实现。学生类Student继承班级类Class,访问其成员函数Y,教师类Teacher继承班级类Class,访问其成员函数Y。

学校人员信息管理不仅包括各种信息的储存,还要做到每个人的信息都可以输出,可以根据姓名或者学号、编号查找到他的其它各种信息。学校成员会变动,学生增加,教师增加,所以各种信息也相应增加。人员的信息也会存在变动,比

c++期末大作业

(共8页)