ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:19.69KB ,
资源ID:8393037      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8393037.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第6次作业.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第6次作业.docx

1、第6次作业1. 构造函数的说明a) 无返回类型b) 函数名同类名c) 在创建对象时被自动调用d) 可重载或带默认参数值e) 若不自定义构造函数,系统提供默认的无参构造函数(不做任何工作,函数体为空);若自定构造函数,系统则不再提供无参构造函数。f) 构造函数定义形式不同,创建对象的形式不同。2. 析构函数的说明a) 无返回类型b) 函数名:类名c) 无参,不能重载,一个类中只有1个析构函数d) 在对象生存期结束时被自动调用3. 总结a) 析构函数执行顺序与构造函数相反b) 类定义中一般都自定义构造函数(为数据成员初始化),若类定义中申请了动态内存空间,则需要自定义析构函数,否则可不自定义析构函

2、数。程序设计练习(在第5次作业的基础上进行修改:增加构造函数与析构函数)1. 编写圆类Circle,包含: 一个名为radius的double型数据成员,表示圆形的半径。 无参构造函数,半径默认值为1 有参构造函数 析构函数,输出” destructor is called” 及半径值。 数据成员的获取函数getRadius和设置函数setRadius。 一个名为getArea()的函数,返回圆形的面积。 一个名为getPerimeter()的函数,返回圆形的周长编写一个测试程序,它创建2个Circle类对象,将第一个圆形的半径设置为1,第2个圆形的半径设置为2,并输出两个圆形对象的半径、面积

3、和周长。观察析构函数执行的顺序。/以下为Circle类的声明部分:circle.hclass Circleprivate: double radius;public: Circle(); Circle(double r); Circle();double getArea(); double getPerimeter(); double getRadius(); void setRadius(double);/以下为 Circle类的实现部分: circle.cpp#includecircle.h#includeCircle:Circle() radius=1; coutno-arg const

4、ructor is called:radiusendl;Circle:Circle(double r) radius=r; cout1-arg constructor is called:radiusendl;Circle:Circle () coutdestructor is called: radiusendl;double Circle:getArea() return 3.14*radius*radius;double Circle:getPerimeter() return 2*3.14*radius;double Circle:getRadius() return radius;v

5、oid Circle:setRadius(double r) radius=r;/测试Circle类 以下为test.cpp#include circle.h#includevoid main() Circle a,b(2); /创建两个对象,对象名分别为a,b coutradius=a.getRadius ()endl; /输出b对象的半径 coutarea=a.getArea ()endl; /输出a对象的面积 coutperimeter=a.getPerimeter ()endl; /输出a对象的周长 coutendl; coutradius=b.getRadius ()endl; /输

6、出b对象的半径 coutarea=b.getArea ()endl; /输出b对象的面积 coutperimeter=b.getPerimeter ()endl; /输出b对象的周长2. 编写矩形类Rectangle,包含: 两个名为width和height的double型数据成员,分别表示矩形的宽和高。 无参构造函数,宽与高的值为1。 有1个参数的构造函数,高的值为1。 有2个参数的构造函数。 析构函数,输出” destructor is called” 及宽、高的值。 单个数据成员的获取函数和设置函数以及对两个数据成员的同时获取的函数和同时设置的函数,各函数名为:getWidth, get

7、Height, setWidth, setHeight,setWH,getWH。 一个名为getArea()的函数,返回矩形的面积。 一个名为getPerimeter()的函数,返回矩形的周长。编写一个测试程序,它创建2个Rectangle对象,将第一个矩形的宽/高设置为4、5,第2个矩形的宽/高设置为3、2,并输出两个矩形对象的高、宽、面积和周长。/以下为Rectangle类的声明部分,rectangle.hclass Rectangleprivate: double width,height;public: Rectangle(); Rectangle(double); Rectangle

8、(double,double); Rectangle(); double getArea(); double getPerimeter(); double getWidth(); double getHeight(); void getWH(double&,double&); void setWidth(double); void setHeight(double); void setWH(double,double);/以下为Rectangle类的实现部分,rectangle.cpp#includerectangle.h#includeRectangle:Rectangle() width=

9、1; height=1; coutno-arg constructor is called:width,heightendl;Rectangle:Rectangle(double w) width=w; height=1; cout1-arg constructor is called:width,heightendl;Rectangle:Rectangle(double w,double h) width=w; height=h; cout2-arg constructor is called:width,heightendl;Rectangle:Rectangle () coutdestr

10、uctor is called: width,heightendl;double Rectangle:getArea() return width*height;double Rectangle:getPerimeter() return 2*(width+height);double Rectangle:getWidth() return width;double Rectangle:getHeight() return height;void Rectangle:setWidth(double w) width=w;void Rectangle:setHeight(double h) he

11、ight=h;void Rectangle:setWH(double w,double h) width=w; height=h;void Rectangle:getWH(double&w,double&h) w=width; h=height;/以下为测试Rectangle类,test.cpp#includerectangle.h#includevoid main() Rectangle a;/创建a对象 double w,h; a.getWH(w,h); /获得a的高与宽 coutwidth=w,height=hendl; coutarea=a.getArea()endl; coutper

12、imeter=a.getPerimeter()endl; coutendl; Rectangle b(10);/创建b对象 coutwidth=b.getWidth(),height=b.getHeight()endl; coutarea=b.getArea()endl; coutperimeter=b.getPerimeter()endl; coutendl; Rectangle c(20,3); coutwidth=c.getWidth(),height=c.getHeight()endl; coutarea=c.getArea()endl; coutperimeter=c.getPeri

13、meter()endl; coutendl;3. 编写圆柱体类Cylinder,包含: 名为radius的double型数据成员,表示圆的半径,名为height的double型数据成员,表示高。 无参构造函数,高与半径的值均为1。 有2个参数的构造函数。 单个数据成员的访问和更改函数,以及两个成员的访问和更改函数。 一个名为getSurfaceArea的函数,返回表面积; 一个名为getVolume的函数,返回体积。编写一个测试程序,它创建1个Cylinder类对象c,将半径设置为2,高为10,分别输出对象c的半径、高、表面积和体积。创建第2个对象d,将c赋给d, 分别输出对象d的半径、高、表

14、面积和体积。/以下为Cylinder的声明部分,cylinder.hclass Cylinder double radius,height;public: Cylinder(); Cylinder(double h,double r); double getHeight(); double getRadius(); void getHR(double&h,double&r); void setHeight(double); void setRadius(double); void setHR(double,double); double getSurfaceArea(); double get

15、Volume();/以下为Cylinder类的实现部分,cylinder.cpp#include Cylinder.hCylinder:Cylinder() height=1; radius=1;Cylinder:Cylinder(double h,double r) height=h; radius=r;double Cylinder:getHeight() return height;double Cylinder:getRadius() return radius;void Cylinder:getHR(double &h,double &r) h=height; r=radius; v

16、oid Cylinder:setRadius(double r) radius=r;void Cylinder:setHeight(double h) height=h;void Cylinder:setHR(double h,double r) height=h; radius=r;double Cylinder:getSurfaceArea() return 2*3.14*radius*radius+2*3.14*radius*height;double Cylinder:getVolume() return 3.14*radius*radius*height;/以下为test.cpp#i

17、ncludecylinder.h#includevoid main() Cylinder c; double a,b; c.getHR (a,b); coutatbendl; coutc.getSurfaceArea ()endl; coutc.getVolume ()endl; Cylinder d(10,2); double x,y; x=d.getHeight (); y=d.getRadius (); coutxtyendl; coutd.getSurfaceArea ()endl; coutd.getVolume ()endl; 4. 编写复数类 Complex,包含: 两个数据成员

18、,表示实部与虚部; 有2个参数的构造函数,且带默认参数值,值均为0 析构函数,输出destructor is called.及实部与虚部的值。 同时设置两个数据成员的设置函数,且带默认参数值,默认值均为0; 同时获取两个数据成员的获取函数,以及每个数据成员的获取函数; 取模函数; 输出函数编写测试程序,创建Complex类对象,分别对各个成员函数进行测试。/以下为complex.h文件class Complexprivate: double real,imag;public: Complex(double r=0,double i=0); Complex(); void setRI(doubl

19、e=0,double=0); double getReal(); double getImag(); void getRI(double&,double&); double getMod(); void print();/以下为complex.cpp#include complex.h#include#includeComplex:Complex(double r,double i) real=r; imag=i; coutconstructor is called.real,imagendl;Complex:Complex () coutdestructor is called.real,i

20、mag0) coutreal +imagiendl ; else if(imag0) coutreal imagi endl; else coutrealendl;/以下为test.cpp文件#includecomplex.h#include void main() Complex c1; coutc1.getMod ()endl; c1.print (); Complex c2(2,2); coutc2.getMod ()endl; c2.print (); Complex c3(-2.5); coutc3.getMod ()endl; c3.print ();5. 定义整型数组类CArra

21、y,包括: 两个数据成员,整型指针变量(表示数组首地址)及整型变量(表示数组长度)。 构造函数,有1个参数且带默认参数值5。 析构函数,释放动态内存。 设置某个数组元素的值 获取某个数组元素的值测试该数组类: 创建一个包含有5个元素的对象a,为数组元素分别赋值为1,2,3,4,5,求数组元素的平均值,并输出各个数组元素与平均值。 创建一个包含有10个数组元素的数组,从键盘输入各个数组元素,而后计算平均值,并输出各个数组元素的值及平均值。/carray.h,类的声明class CArray public: CArray(int n1=5); /创建包含n1个数组元素的整型数组。 CArray()

22、; /析构函数,删除动态申请的数组空间 int getAt(int i); /得到下标为i的数组元素的值 void setAt(int i, int x); /将下标为i的数组元素的值设置为x.private: int* p; /整型数组首地址 int n; /数组中的元素个数;/carray.cpp,类的实现#includecarray.h#includeCArray:CArray(int n1) n=n1; p=new intn; /申请动态内存 coutconstructor is called: nendl;CArray:CArray() delete p; /释放动态内存 coutd

23、estructor is called: nendl;int CArray:getAt(int i) return pi;void CArray:setAt(int i, int x) pi=x;/test.cpp,类的测试#include carray.h #include void main() CArray t(10); for(int i=0;i10;i+) t.setAt (i,i+1); int sum1=0; for(i=0;i10;i+) sum1+= t.getAt(i); for(i=0;i10;i+) coutt.getAt (i)t; coutendl; coutsum1/10endl; CArray s; int x; coutplz enter 5 integers:; for(i=0;ix; s.setAt (i,x); int sum2=0; for(i=0;i5;i+) couts.getAt (i)t; sum2+=s.getAt (i); coutendl; coutsum2/5endl;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1