《面向对象程序设计基础R》实验指导和实验报告(2017年)(共27页).doc
《《面向对象程序设计基础R》实验指导和实验报告(2017年)(共27页).doc》由会员分享,可在线阅读,更多相关《《面向对象程序设计基础R》实验指导和实验报告(2017年)(共27页).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验报告 实践报告课程名称: 面向对象程序设计基础R 实验、实践名称: 面向对象程序设计基础R 实验、实践地点: 逸夫楼201 专业班级: 软件1601 学号: 学生姓名: 指导教师: 宋春花 2017年 4月 17 日专心-专注-专业实验名称 实验一 熟悉Visual Studio 开发环境实验目的和要求(1) 熟悉基本的输入输出方法;(2) 掌握函数的定义,调用和声明方法,函数的参数传递机制,函数嵌套调用和递归调用,内联函数,带默认形参的函数,重载函数;(3) 理解命名空间的概念,掌握命名空间的使用;(4) 熟悉const关键字的使用;(5) 掌握内存的动态分配的
2、概念和使用;(5) 掌握类的定义和对象的定义和使用;实验内容1.编写重载函数area()和perimeter(),分别计算圆、长方形、正方形的面积和周长,并在主函数中测试之。2.完善程序,并上机运行:(此程序见原模板)3.定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。用复数类定义复数对象c1、c2、c3,用默认构造函数将c1初始化为c1=20+40i,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=20+40i。用公有成员函数Display()显示复数c1、c2与c3的内容。4. 定义一个矩形类Rectangle,矩形的左上角(Left,T
3、op)与右下角坐标(Right,Bottom)定义为保护数据成员。用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。然后调用Show()显示矩形左上角与右下角坐标及对角线长度。最后用delete运算符回收为矩形动态分配的存储空间。主要仪器设备台式或笔记本电脑:1台/人实验记录(写出实验内容中1、2、3、4的程序代码和运行结果)(可分栏或加页)1.#include stdafx.h#includeiostreamusing namespace s
4、td;const double pi=3.;double area(double r);double area(double a,double b);double perimer(double r);double perimer(double a,double b);double area(double r)double s;s=pi*r*r;return s;double area(double a,double b)double s;s=a*b;return s;double perimer(double r)double p;p=2*pi*r;return p;double perime
5、r(double a,double b)double p;p=2*(a=b);return p;int _tmain(int argc, _TCHAR* argv)double r;double m;double n;cout请输入圆的半径:r;cout圆的面积为:area(r) 圆的周长为:perimer(r)endl;cout请输入长方形的长和宽:mn;cout长方形面积为:area(m,n) 长方形的周长为:perimer(m,n)endl;cout请输入正方形的边长:m;cout正方形的面积为:area(m,m) 正方形的周长为:perimer(m,m)endl;getchar();g
6、etchar();return 0;/ 实验1-2.cpp : 定义控制台应用程序的入口点。/#includestdafx.h#include iostreamusing namespace std;const double pi = 3.14;class Circle public:double area() return x*x*pi; Circle(double a) :x(a) private:double x;class Rectangle public:Rectangle(double x,double y):len(x),wid(y)/写出矩形类的构造函数double area(
7、) return len*wid; /写出计算矩形面积函数private:double len, wid;class Square public:Square(double x) :len(x) /写出正方形类的构造函数double area() return len*len; /写出计算正方形面积函数private:double len;int main()cout Input shape endl;cout if circle, input c, if rectangle input r; if square input s shape;switch (shape)case c: doub
8、le r;cout input radius r;Circle r1(r);cout circle area= r1.area() endl;system(pause);break;case r: double len, wid;cout input length and width len wid;Rectangle jx(len,wid); /构造矩形对象,宽为wid,高为len cout rectangle area= jx.area() endl;/输出矩形面积system(pause);break;case s: double len;cout input length len;Sq
9、uare fx(len);/构造正方形对象,边长为lencout square area= fx.area() endl;/输出正方形面积system(pause);break;default: cout input error! endl;break;return 0;3. #include stdafx.h#includeiostreamusing namespace std;class Complexpublic:Complex(double a,double b):real(a),image(b);Complex(Complex &c);void Dispaly();private :
10、double real;double image;Complex:Complex(Complex & c)real = c.real;image = c.image;void Complex:Dispaly()cout ( real + image i) endl;int main()Complex c1(20,40);Complex c2(0, 0);Complex c3(c1);c1.Dispaly(); c2.Dispaly(); c3.Dispaly();system(pause);4. #include stdafx.h#includeiostream#includemath.hus
11、ing namespace std;class Rectangleprotected:double Left,Top,Right,Bottom;public:Rectangle(double a,double b,double c,double d):Left(a),Top(b),Right(c),Bottom(d);void Show(Rectangle &d);double Diagonal(Rectangle &c);double Rectangle:Diagonal(Rectangle &c)double x=c.Right-c.Left;double y=c.Top-c.Bottom
12、;double d=sqrt(x*x+y*y);return d;void Rectangle:Show(Rectangle &d) cout左 上 角 (Left,Top)endl; cout右 下 角 (Right,Bottom)endl; cout斜 角 线 长 度d.Diagonal(d)Show(*r1); delete r1; system(pause); return 0;遇到的问题和解决方法心得体会实验名称 实验二 类与对象的特性实验目的和要求(1) 掌握类的定义和对象的定义和使用;(2) 掌握静态数据成员和静态成员函数的定义和使用方法;(3) 理解类的作用域、对象的作用域及生
13、存周期; (4) 掌握函数调用中参数的传递;(5) 掌握常量类型;(6) 掌握友元函数和友元类的定义及使用。实验内容 编写一个学生类。(1)输出每个学生的姓名、学号、成绩;(2)统计并输出学生的总人数、总成绩、平均成绩、最高成绩、最低成绩。主要仪器设备台式或笔记本电脑:1台/人实验记录(写出实验内容中程序代码和运行结果)(可分栏或加页)#includestdafx.h#include using namespace std;/定义学生类class Studentint no; /学号char name10; /姓名double score; /成绩static int totalNumber;
14、 /学生人数static double totalScore; /总成绩static double lowestScore; /最低成绩static double highestScore; /最高成绩public:Student(int no_,char *name_,double score_); /构造函数static void Output(); /输出相关信息void StudentInformation(); /输出学生基本信息;int Student:totalNumber=0; /静态数据初始化double Student:highestScore =0.;double Stu
15、dent:lowestScore =100.;int main( ) Student stu1(1001,张小三y,97.5);stu1.StudentInformation ();Student stu2(1625,李 老 四,83.);stu2.StudentInformation ();Student stu3(1628,王 老 五,93.);stu3.StudentInformation ();Student stu4(1352,郭 小 六,62.5);stu4.StudentInformation ();Student stu5(1999,王 小 明,77.); stu5.Stude
16、ntInformation ();Student:Output (); system(pause);return 0;Student:Student (int no_,char *name_,double score_) no=no_;strcpy(name,name_);score=score_;totalNumber+;totalScore+=score;if (scorehighestScore)highestScore=score;if (scorelowestScore)lowestScore=score;void Student:StudentInformation () cout
17、学 号no 姓 名 name 成 绩:scoreendl;void Student:Output ()cout学 总 数 totalNumber 总 成 绩 totalScore endl;cout平 均 成 绩totalScore/totalNumber 最 高 成 绩 highestScore 最 低 成 绩lowestScore endl;遇到的问题和解决方法心得体会实验名称 实验三 继承与派生实验目的和要求(1)掌握类的继承和派生概念;(2)掌握派生类的定义与使用;(3)掌握派生类的构造函数与析构函数的应用及调用顺序;(4)理解赋值兼容原则的应用。实验内容考察一个点、圆、圆柱体的层次结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计基础R 面向 对象 程序设计 基础 实验 指导 报告 2017 27
限制150内