华科C++第七次上机作业_第1页
华科C++第七次上机作业_第2页
华科C++第七次上机作业_第3页
全文预览已结束

下载本文档

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

文档简介

第七次上机作业1、 范例:设计并测试一个矩形类(Rectangle)。属性为矩形的左下角与右上角的坐标,矩形水平放置。操作为计算矩形的周长和面积。 2、 #include3、 #include4、 using namespace std;5、 class Rectangle6、 double left, top;7、 double right, bottom;8、 public:9、 Rectangle(double l=0,double t=0,double r=0,double b=0);10、 Rectangle();11、 void Assign(double l,double t,double r,double b);12、 void Show();13、 double Area();14、 double Perimeter();15、 Rectangle: Rectangle(double l ,double t, double r, double b)16、 left=l ;top =t;17、 right=r; bottom=b;18、 void Rectangle:Assign(double l,double t,double r,double b)19、 left=l ;top =t;20、 right=r; bottom=b;21、 void Rectangle:Show()22、 cout left-top point is(left,top)n;23、 coutright-bottom point is(right,bottom)endl;24、 double Rectangle:Area()25、 return fabs(right-left)*fabs(bottom-top);26、 27、 double Rectangle:Perimeter()28、 return 2*(fabs(right-left)+fabs(bottom-top);29、 30、 int main()31、 Rectangle rect;32、 rect.Show();33、 rect.Assign(100,200,300,400);34、 rect.Show();35、 Rectangle rect1(0,0,200,200);36、 rect1.Show();37、 rect1.Assign(100,200,300,400);38、 rect1.Show();39、 coutrect.Area()trect.Perimeter()endl;40、 coutrect1.Area()trect1.Perimeter()endl;41、 return 0;42、(1) 将Rectangle(double l=0, double t=0, double r=0, double b=0); 改为Rectangle(double l, double t, double r, double b);程序仍能正确运行吗?为什么?答:无法正确运行,因为数据成员没有初值。(2) 注意成员函数void Show( )、double Area () 、double Perimeter( )的使用,因为在第三章如果需编写类似功能的一般函数是需要带参数(形参)的。而在此处作为类的成员函数又不需要带参数。思考为什么? 答:构造函数是隐式调用的(3) 理解void Assign(double l,double t,double r,double b);函数的作用。将Rectangle(double l=0, double t=0, double r=0, double b=0); 改为Rectangle(double l, double t, double r, double b);这时,有人认为Rectangle(double l, double t, double r, double b) 和void Assign(double l,double t,double r,double b)的功能相同,那么Assign 函数能否去掉呢?请试一试,结果会怎样?答:不能,结果无法运行。2、 定义一个圆类(Circle),要求用两种方法定义: 方法一: 要求属性为半径,操作为计算圆的周长和面积。#include #include using namespace std;const double PI=3.14;class Circleprivate:double Radius;public :Circle(double r=0);Circle();void Assign(double r); double zc(); double mj();Circle:Circle(double r)Radius=r;void Circle:Assign( double r)Radius=r;double Circle:zc()return (PI*Radius*2);double Circle:mj()return (PI*Radius*Radius);int main ()Circle yuan;yuan.Assign(13.45);cout周长yuan.zc()endl;cout面积yuan.mj

温馨提示

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

评论

0/150

提交评论