C++面向对象实验报告_第1页
C++面向对象实验报告_第2页
C++面向对象实验报告_第3页
全文预览已结束

下载本文档

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

文档简介

1、.面向对象实验报告08 级( 2)班240892223江晓鹏第五章继承与派生的应用一、实验目的()理解继承与派生过程中,一个基类派生多个子类的概念及应用。()理解继承与派生过程中,把派生类作为基类构成类族的概念及应用。()理解虚基类的概念。二、实验内容()把二维坐标类作为基类派生圆类,再由圆类作为基类派生圆柱体类。(1 )题目要求:声明二维坐标类作为基类派生圆的类,把派生类圆作为基类,派生圆柱体类。 其中基类二维坐标类有数据成员:、坐标值; 有成员函数:构造函数实现对基类数据成员的初始化、输出的成员函数,要求输出坐标位置。派生类圆类有新增数据成员:半径(R);有成员函数: 构造函数实现对数据成

2、员的初始化、计算圆面积的成员函数、输出的成员函数,要求输出圆半径 (R) 。派生圆柱体类新增数据成员有高(H);新增成员函数有构造函数、计算圆柱体体积的函数、输出所有成员的函数。(2 )代码如下#include <iostream>#include <string>using namespace std;#define pai 3.14;class Grahicprivate:int X,Y;public:Grahic(int x,int y)X=x;Y=y;void showG()cout<<"X="<<X<<&

3、quot; Y="<<Y;class Round:public Grahicpublic:int R;double area;public:Round(int x=0,int y=0,int r=0):Grahic(x,y)R=r;double GetArea()精品.area=3.14*R*R;return area;void showR()showG();cout<<" R="<<R;class Cylinder:public Roundpublic:int H;double Vol;public:Cylinder(int

4、x,int y,int r,int h):Round(x,y,r)H=h;double GetVolume()Vol=GetArea()*H;return Vol;void showC()showR();cout<<" H="<<H;void main()Grahic g1(3,4);cout<<" 坐标输出: "g1.showG();Round r1(3,4,2);cout<<endl<<"圆形输出: "r1.showR();cout<<endl<<

5、"圆形面积 "<<r1.GetArea();Cylinder c1(3,4,2,5);cout<<endl<<"圆柱输出: "c1.showC();cout<<endl<<"圆柱体积 "<<c1.GetVolume();cout<<endl;()把大学的学生类作为基类,派生博士生类,硕士生类和本科生类。(1 )题目要求声明一个学生类,有数据成员:学号、姓名、性别。年龄,要求有如下成员函数:构造函数、输出所有成员的函数。把学生类作为基类,通过公有继承,分

6、别派生博士生类、硕士生类、本科生类,其中博士生类新增数据成员有科研工作量和论文数;硕士生类新增数据成员考核成绩和是否参加科精品.研项目(表示参加,表示未参加)。本科生类新增数据成员有获得课内学分数和课外学分数。每个派生类需新增成员函数有构造函数、输出所有成员的函数。(2 )代码如下:#include <iostream>#include <String>using namespace std;class Stupublic:int Id;char Name20;int Age;char Sex4;public:Stu(int i,char *n,int a,char *

7、s)Id=i;strcpy(Name,n);Age=a;strcpy(Sex,s);void showS()cout<<" 学 号 : "<<Id<<"t姓 名 : "<<Name<<"t年 龄 : "<<Age<<"t性 别 :"<<Sex<<endl;class Doctoral:public Stu/ 博士生public:int WorkTime,ThesisNum; / 科研工作量,论文数 publi

8、c:Doctoral(int i,char *n,int a,char *s,int w,int t):Stu(i,n,a,s)WorkTime=w;ThesisNum=t;void showD()showS();cout<<"t科研工作量:"<<WorkTime<<"t论文数: "<<ThesisNum;class Graduate:public Stu/ 研究生public:int Grade;bool Join;/ 考核成绩和是否参加科研项目(表示参加,表示未参加)public:Graduate(in

9、t i,char *n,int a,char *s,int g,bool j):Stu(i,n,a,s)Grade=g;Join=j;void showG()精品.showS();cout<<"t考核成绩 :"<<Grade<<"t参加科研项目:"<<Join;class Undergraduate:public Stu/ 本科生public:int InCredit,OutCredit;public:Undergraduate(int i,char *n,int a,char *s,int in,int

10、o):Stu(i,n,a,s)InCredit=in;OutCredit=o;void showU()showS();cout<<"t课内学分: "<<InCredit<<"t课外学分: "<<OutCredit;void main()Stu s1(00001,"陈张三 ",22,"男 ");cout<<" 输出学生类成员信息:"s1.showS();Doctoral d1(00001,"陈张三 ",22,"男 ",50,12);cout<<endl<<"输出博士生类成员信息:"d1.showD();Graduate g1(00001,"陈张三 ",22,"男 ",80,0);cout<<endl<&

温馨提示

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

评论

0/150

提交评论