利用C++继承与派生方法管理学生和教师的档案.doc_第1页
利用C++继承与派生方法管理学生和教师的档案.doc_第2页
利用C++继承与派生方法管理学生和教师的档案.doc_第3页
利用C++继承与派生方法管理学生和教师的档案.doc_第4页
利用C++继承与派生方法管理学生和教师的档案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告设计目录一、实验目的:。1二、总体设计(程序设计组成框图、流程图).。1三、详细设计(模块功能说明(如构造函数功能、入口及出口参数说明,函数调用关系描述等)。2四、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。2五、源程序和执行结果:程序中应有足够的注释.。2第六、参考文献:。6一、实验目的:利用C+继承与派生方法,定义出互相有关联若干个类,用于管理学生与教师档案,并编制主函数对所定义类进行调用。二、总体设计(程序设计组成框图、流程图) Void main() 调用Person类Teacher类Student类Graduatestudent类class person /定义person类,作为其它几个类的基类person(string na,char sx,int ag) /person类的构造函数void print()/显示person类的数据 void set() class student:public person /派生类studentstudent(string na,char sx,int ag,int num,string dep): person(na, sx,ag) /派生类构造函数,对基类初始化void print()/派生类student的显示函数 void set() class teacher:public person /派生类teacherteacher(string na,char sx,int ag,string pt,string cs):person(na,sx,ag) /派生类构造函数,对基类初始化void print() /派生类teacher的显示函数 void set() graduatestudent(string na,char sx,int ag,int num,string dep,string adv): student(na,sx,ag,num,dep) /派生类graduatestudent由student类派生 /派生类构造函数,对基类初始化 void print() /派生类graduatestudent 的显示函数 void set() void main() /调用以上类的构造函数及显示函数三、详细设计(模块功能说明(如构造函数功能、入口及出口参数说明,函数调用关系描述等)1、构造函数功能: 构造函数对对象中的数据成员赋初值,建立对象时由系统自动执行的,而且只执行一次。2、各类的 print()显示成员函数 和set()函数 四、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施1、调试方法: 我的调试是分块局部调试,编好并修改好一个类就将其它类用/* */来隐藏掉,然后看改好的这个类能不能正常运行,若能达到预期的效果就将其它各类调出继续分块局部调试。直到整个程序能顺利运行达到设计要求为止。2、测试结果的分析与讨论举例:class person /定义person类,作为其它几个类的基类protected:string name; /姓名char sex; /性别int age; /年龄分析:当基类成员没定义protected:时调用时出错,因类的成员默认时为私有数据不能访问。五、源程序和执行结果:程序中应有足够的注释 #include using namespace std;#include class person /定义person类,作为其它几个类的基类protected:string name; /姓名char sex; /性别int age; /年龄public:person(string na,char sx,int ag) /person类的构造函数name=na;sex=sx;age=ag;void print() /显示person类的数据coutname:nameendl;coutsex:sexendl;coutage:ageendl;void set()/建立输入函数coutPlease enter name,sex,age:namesexage;class student:public person /派生类studentint Reg_Number; /增加学号数据string department; /增加系别数据public: student(string na,char sx,int ag,int num,string dep): /派生类构造函数,对基类初始化 person(na, sx,ag) Reg_Number=num; department=dep; void set()/建立输入函数 coutPlease enter name,sex,age,Reg_Number,department:namesexageReg_Numberdepartment; void print() /派生类的显示函数 person:print(); /调用person类print函数,显示共性数据 cout Reg_Number: Reg_Numberendl; coutdepartment:departmentendl; ;class teacher:public person /派生类teacherstring post; /增加职称数据string course; /增加担任课程数据public: teacher(string na,char sx,int ag,string pt,string cs): person(na, sx,ag) /派生类构造函数,对基类初始化 post=pt; course=cs; void set()/建立输入函数 coutPlease enter name,sex,age,post,course:namesexagepostcourse; void print() /派生类的显示函数 person:print(); /调用person类print函数,显示共性数据 coutpost:postendl; coutcourse:courseendl; ;class graduatestudent:public student /派生类graduatestudent由student类派生string advisor;public:graduatestudent(string na,char sx,int ag,int num,string dep,string adv): student(na,sx,ag,num,dep) /派生类构造函数,对基类初始化 advisor=adv; void set()/建立输入函数 coutPlease enter name,sex,age,advisor:namesexageadvisor; void print() /派生类的显示函数 student:print(); /调用student类print函数,显示共性数据 coutadvisor:advisorendl; ;int main() cout * endl;cout *学生#教师档案* endl; cout * endl;int n,j;person per1(li,M,34); /建立person类对象 student stu1(zhao,F,20,123,comp); /建立student类对象 teacher teach1(sun,M,26,professor,english); /建立teacher类对象graduatestudent grad1(zhou,F,22,231,comp,wei); /建立graduatestudent类对象loop:cout输入您要查找的对象:endlendl1,person;2,student;3,teacher;4,graduatestudent。n;if(n=1) per1.set(); per1.print();else if(n=2) stu1.set(); stu1.print();else if(n=3) teach1.set(); teach1.print();else grad1.set(); grad1.print();cout您还要查吗?1.yes 2.noj;if(j=1)goto loop;else exit(0);return 0;运行结果: * *学生#教师档案* *输入您

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论