C++实验报告--继承和派生_第1页
C++实验报告--继承和派生_第2页
C++实验报告--继承和派生_第3页
C++实验报告--继承和派生_第4页
C++实验报告--继承和派生_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计 实验报告实验名称 继承和派生 实验室 522 实验日期 2012/12/18 一、实验目的 1、进一步巩固C+语言中类和对象的概念和应用。2、掌握继承和派生的概念和实现。二、实验要求1、进一步熟练掌握类和对象的概念,使用的方法,访问的规则。2、掌握单继承的概念和应用。3、掌握多继承和虚基类的概念,并熟练应用。三、实验内容1、定义一个点类,矩形类,长方体类,其中点类派生了矩形类,矩形类派生了长方体类,要求每个类设计构造函数,点类中添加成员函数能够计算任意两点的距离,矩形类能够计算面积和周长,长方体类能够计算体积和表面积。(1).源程序:#include using namespace std;#include math.hclass Pointprivate:int X,Y;public: Point(double x1,double y1)X=x1;Y=y1; double Getx()return X; double Gety()return Y; void showXY()cout点:(X,Y)endl; void distance(Point& p) double dX=X-p.X; double dY=Y-p.Y; cout距离:distance=sqrt(dX*dX+dY*dY) (cm)endl; ;class Rectangle:public Pointprotected:int A,B;public:Rectangle(int a,int b,int X,int Y):Point(X,Y)A=a;B=b; int show_area()return A*B;void show_area1()cout面积:A*B= A*B (cm2)endl;void show_zhouchang()cout周长:2*(A+B)= 2*(A+B) (cm)H=H; void show_volume()cout体积:A*B*H= H*(Rectangle:show_area() (cm3)endl; void show_biaomianji() cout表面积: 2*(A*B+A*H+B*H)= 2*(A*B+A*H+B*H) (cm2)endl; ;void main()Point C(6,8),D(3,4);C.showXY();D.showXY();D.distance(C);Rectangle E(3,4,1,2);E.show_area1();E.show_zhouchang();Cuboid F(4,3,4,1,2);F.show_volume();F.show_biaomianji();(2).运行结果:2、根据如图所示编辑程序,计算教师的课时,计算学生的平均成绩,假定每个学生3门课程,并输出每个类的信息(例如教师的职称,学生的专业等,程序实现要求使用到虚基类的知识)。(1).源程序:#include using namespace std;#include math.hclass Personprivate:int age;public:Person(int age)this-age=age;coutPerson constructing.endl;void show()coutPerson age:agelesson=lesson;coutTeacher constructing.endl;void show()Person:show();coutTeacher lesson:lessongrade1=grade1; this-grade2=grade2; this-grade3=grade3; coutStudent constructing.; void show() Person:show(); coutStudent Grade:endl; coutgrade1:grade1endl; coutgrade2:grade2endl; coutgrade3:grade3endl; coutAverage Grade:(grade1+grade2+grade3)/3money=money; coutZhu_jiao constructing.endl; void show() Teacher:show(); coutZhu_jiao money:moneyClass=Class; coutYan constructing.endl; void show() Student:show(); coutYan Class.Classendl; ;class YJSZJ:public Teacher,public Studentpublic:YJSZJ(int age,int lesson,double grade1,double grade2,double grade3,int money,int Class):Person(age),Student(age,grade1,grade2,grade3),Teacher(age,lesson) coutconstructing.endl; void show() cou

温馨提示

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

最新文档

评论

0/150

提交评论