资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
C+实验报告组合与继承实验目的:1熟悉继承与组合。 2. 学会继承与组合的简单应用实验内容:编写一个程序:能管理学生的成绩,计算公共课的总分和平均分,以及所有课程的总成绩。1. 英语语文数学三门公共课是所有学生都要学习的,定义成一个基类 ComFinal。另外两门专业课程则分别抽象成类 Account 和Chemistry,分别管理会计学和化学两门专业。2. 整个问题涉及学生,应该抽象出学生类 Student 来管理学生档案。程序仅用一个姓名代替学生,将此名字作为 comFinal 类的一个数据成员。ComFinalname.english,chinese,math,totalChar *getName()Int getEng()Int getChi()Int getMat()void *setEng(int x)void setChi()void setMat(int x)int getTotal()float getAverage()void show();程序:1. 建立 comFinal 类。1/在 comFinal.h 的头文件中输入如下内容:#ifndef comFinal_h#define comFinal_hclass comFinalprotected:char name20; /学生姓名int english,chinese,math,total; /学生公共课成绩及总分float average; /学生公共课平均分public:comFinal(char *n,int eng,int chi,int mat);AccountAccoun,econ,majtotalMajaveint getMajtotal()float getMajave()int getAccount()int getEcon()void setAccount(int x)void setEcon(int x)void show();ChemistryChemistry,analy,majtotal,majaveint getMajtotal()float getMajave()int getChe()int getAnl()void setChe(int x)void setAnl(int x)void show();comFinal();comFinal();char *getname()return name;int geteng()return english;int getchi()return chinese;int getmat()return math;void seteng(int x)english=x;void setchi(int x)chinese=x;void setmat(int x)math=x;int gettotal()return english+chinese+math;float getaverage()return (float)(english+chinese+math)/3);void show(); /显示学生各公共课的成绩、总分、平均分;#endif2/在 comFinal.cpp 源文件中输入:/comFinal.cpp#include #include #include comFinal.hcomFinal:comFinal(char *n,int eng,int chi,int mat)english=eng;chinese=chi;math=mat;strcpy(name,n);void comFinal:show() /show()是定义基类 comFinal 中的虚函数 coutAccount:Account(char *n,int eng,int chi,int mat,int acc,int eco):comFinal(n,eng,chi,mat)econ=eco;accoun=acc;void Account:show()comFinal:show();cout#include Chemistry.hChemistry:Chemistry(char *n,int eng,int chi,int mat,int chem,int anal):comFinal(n,eng,chi,mat)chemistr=chem;analy=anal;void Chemistry:show()comFinal:show();coutvoid main()Account al(张三星,98,78,97,67,87); Chemistry cl(光红顺,89,76,34,56,78);al.show();cout-endlendl;cl.setanl(100);cl.show();实验结果分析:得出想要的实验结果。明白通过继承,派生类可以获得基类的程序代码,从而达到代码重用的目的。而组合体现了类之间的另一种关系,是指一个类可以包含另外的类,即用其他的类来定义它的数据对象。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号