面向对象程序设计实验报告-ZY-软件学院-太原理工.doc_第1页
面向对象程序设计实验报告-ZY-软件学院-太原理工.doc_第2页
面向对象程序设计实验报告-ZY-软件学院-太原理工.doc_第3页
面向对象程序设计实验报告-ZY-软件学院-太原理工.doc_第4页
面向对象程序设计实验报告-ZY-软件学院-太原理工.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

本科实验报告课程名称: 面向对象程序设计基础 实验项目: C+程序设计 实验地点: ZSA401 专业班级: 学号:2 学生姓名: 指导教师: 2012年12月26日- 15 -实验一 C+简单程序设计一、实验目的(1) 学习编写简单的C+程序(2) 学习运算符与表达式的应用(3) 练习使用简单的输入输出(4) 学习使用VISUAL C+开发环境二、实验任务(1) do-while语句编程,求自然数1-10的和;并用for语句改写此程序。(2) 编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,再要求用户对圆形输入半径值,对长方形输入长与宽,对正方形输入边长,计算出面积的值后,在屏幕上显示出来。三、主要仪器设备【硬件配置】 HP-6450b【软件环境】 VS2010四、实验步骤【源程序】/ 1.1.1#include using namespace std;int main()int i=1,sum=0;dosum+=i;i+;while(i=10);cout1-10的和:sumendl;/ 1.1.2#include using namespace std;int main()int i=1,sum=0;for(i=1;i=10;i+)sum+=i;cout1-10的和:sumendl;/ 1.2#include using namespace std;#define PI 3.1415926int main()char i;cout选择图形类型:endl;coutA:圆形 B:长方形 C:正方形i;while(i!=A&i!=B&i!=C)cout输入错误!endl请重新输入:i;if(i=A)float r;coutr;cout圆形面积:PI*r*rendl;else if(i=B)float a,b;couta;cinb;cout长方形面积:a*bendl;else if(i=C)float a;couta;cout正方形面积:a*aendl; elsecout输入错误endl; 五、运行结果/ 1.1.1/ 1.1.2/ 1.2实验二 类与对象程序设计一、实验目的(1) 掌握类的定义和使用、成员函数的定义和使用(2) 掌握类的私有成员、公有成员和保护成员的区别(3) 掌握对象的定义、类成员的访问(4) 掌握类中构造函数与析构函数的应用(5) 掌握重载函数的定义和使用二、实验任务(1) 设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角的两个点的坐标,能计算矩形的面积。要求定义构造函数与析构函数。(2) 编写重载函数MAX1可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值。三、主要仪器设备【硬件配置】 HP-6450b【软件环境】 VS2010四、实验步骤【源程序】/ 2.1#include using namespace std;class Rectangleprivate:float x1,y1,x2,y2;public:Rectangle(float a,float b,float c,float d);Rectangle();void Input();void Output();void Area();Rectangle:Rectangle(float a,float b,float c,float d)coutconstructor.endl;x1=a;y1=b;x2=c;y2=d;Rectangle:Rectangle()coutdestructor.endl;void Rectangle:Input()coutx1y1x2y2;void Rectangle:Output()cout两点坐标:(x1,y1),(x2,y2)endl;void Rectangle:Area()float area;area=(x2-x1)*(y2-y1);cout矩形面积:areaendl;int main()Rectangle r(1,1,2,2);r.Input();r.Output();r.Area();/ 2.2#include using namespace std;int max(int x,int y);int max(int x,int y,int z);double max(double x,double y);double max(double x,double y,double z);int main()int x,y,z;double a,b,c;coutxy;cout这两个整数的最大值:max(x,y)endlendl;coutz;cout这三个整数的最大值:max(x,y,z)endlendlendl;coutab;cout这两个数的最大值:max(a,b)endlendl;coutc;cout这三个数的最大值:max(a,b,c)endly?x:y;int max(int x,int y,int z)return max(x,y)z?max(x,y):z;double max(double x,double y)return xy?x:y;double max(double x,double y,double z)return max(x,y)z?max(x,y):z;五、运行结果/ 2.1/ 2.2实验三 继承与派生一、实验目的(1) 掌握类的继承和派生过程(2) 掌握派生类的定义与使用(3) 掌握派生类的构造函数与析构函数的应用及调用顺序(4) 学习使用VISUAL C+调试类的继承关系的应用二、实验任务(1) 声明一个基类BaseClass,有整数类型成员变量Number,构造基派生类DerivedClass,实现其构造函数和析构函数,完善类的功能与结构。(2) 声明一个基类SHAPE,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square;完善类的功能与结构。三、主要仪器设备【硬件配置】 HP-6450b【软件环境】 VS2010四、实验步骤【源程序】/ 3.1#include using namespace std;class BaseClassprotected:int Number;class DerivedClass:public BaseClasspublic:DerivedClass(int n)Number=n;coutconstructor.endl;DerivedClass()coutdestructor.endl;void Output()coutNumberendl;int main()int n;coutn;DerivedClass dc(n);dc.Output();/ 3.2#include using namespace std;#define PI 3.1415926class Shapepublic:Shape();virtual double GetArea()=0return 0.0;class Circle:public Shapeprivate:double radius;public:Circle(double r):radius(r)double GetArea()return PI*radius*radius;class Rectangle:public Shapeprotected:double length,width;public:Rectangle(double len,double wid):length(len),width(wid)double GetArea()return length*width;class Square:public Rectanglepublic:Square(double a):Rectangle(a,a)double GetArea()return length*width;void Output(Shape &i)couti.GetArea()endl;int main()double length,width,side,radius;coutlengthwidth;Rectangle R(length,width);coutArea of Rectangle is:;Output(R);coutside;Square S(side);coutArea of Square is:;Output(S);coutradius;Circle C(radius);coutArea of Circle is:;Output(C);五、运行结果/ 3.1/ 3.2实验四 多态性一、实验目的(1) 掌握抽象类的定义与使用(2) 掌握虚函数的定义与使用(3) 掌握虚函数实现动态多态性(4) 学习使用VISUAL C+调试虚函数二、实验任务(1) 编写一个抽象类SHAPE,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积。计算周长的函数GetPerim();完善类的功能与结构。(2) 声明一个车(Vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(Bicycle)类、汽车(Motorcar)类,从(Bicycle)和(Motorcar)派生出摩托车(Motorcycle)类,它们都有Run、Sto p等成员函数。利用虚函数解决问题。三、主要仪器设备【硬件配置】 HP-6450b【软件环境】 VS2010四、实验步骤【源程序】/ 4.1#include #define PI 3.1415926using namespace std;class Shapepublic:virtual double GetArea()=0;virtual double GetPerim()=0;class Rectangle:public Shapeprivate:double length,width;public:Rectangle(double len,double wid):length(len),width(wid)cout长 length宽widthendl;double GetArea()return length*width;double GetPerim()return 2*(length+width);class Circle:public Shapeprivate:double radius;public:Circle(double r):radius(r)cout半径radiusendl;double GetArea()return PI*radius*radius;double GetPerim()return 2*PI*radius;void Output(Shape &i)cout面积:i.GetArea()endl;cout周长:i.GetPerim()endlendl;int main()double length,width;coutlengthwidth;Rectangle R(length,width);Output(R);double radius;coutradius;Circle C(radius);Output(C);/ 4.2#include using namespace std;class Vehiclepublic:virtual void Run()=0;virtual void Stop()=0;class Bicycle:virtual public Vehiclepublic:void Run()coutBicycle:Run constructed.endl;void Stop()coutBicycle:Stop constructed.endl;class Motorcar:virtual public Vehiclepublic:void Run()coutMotorcar:Run constructed.endl;void Stop()coutMotorcar:Stop constructed.endl;class Motorcycle:p

温馨提示

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

最新文档

评论

0/150

提交评论