- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验4类和对象
北京电子科技学院(BESTI)
实验报告
课程: 面向对象程序设计 班级: 1243 姓名: 孟愫愫 学号: 124308 成绩: 指导教师: 徐日 实验日期: 2013.11.26 实验密级: 预习程度: 实验时间: 下午3:30~6:00 仪器组次: B23 必修/选修: 选修 实验序号: 4 实验名称: 类和对象 实验目的与要求:
1. 使学生掌握C++语言类和对象、构造函数、析构函数、友元的基础编程;
2. 培养学生具有运用C++语言编程解决问题的能力,提高学生的计算机编程能力;
3. 引导和培养学生具有认真严谨的实验态度和勇于实践的学习精神。
实验仪器:
名称
型号
数量
微机
TOSHIBA L800
1
一. 实验内容
1. 矩形类 Crectangle
设计一个类Crectangle,有5个数据成员(私有属性),分别为矩形左上顶点的横坐标、纵坐标和矩形的长、宽及矩形面积。该类还要求有5个成员函数(公有属性)和1个友元函数:矩形移动位置的move()函数,改变矩形大小的size()函数,显示输出数据成员的show()函数,构造函数和析构函数,友元函数是求矩形面积的area(),要求构造函数按形参(有默认参数值)初始化对象。并编写main函数测试该类各功能(至少定义2个对象)。
Main函数中定义该类的对象,再调用各成员函数和友元函数。
所有成员函数和友元的执行都要有相应的执行信息输出,例如,析构函数被调用时应输出“类Crectangle的析构函数被执行!”。
生成的程序执行结果,应包括各成员函数执行时的输出信息。
【编程设计思想】
主要运用类的定义和类的封装,对象的调用,析构函数和友元函数的相关知识进行编程。根据题目的要求,使其中5个数据成员(x,y,c,k,s)为私有属性,5个成员函数(CRectangle(),move(),size(),show(),area())为公有属性,其中的area为友元函数。创建析构函数~CRectangle(),完成对内存空间的清理。接下来就是分别对函数进行定义了,并按要求初始化对象。
【源代码】
#includeiostream.h
class CRectangle
{
private:
float x,y,c,k,s;
public:
CRectangle(float sx,float sy,float sc,float sk,float ss)//构造函数
{ x=sx;//通过公有来对私有成员来进行访问
y=sy;
c=sc;
k=sk;
s=ss;
cout类CRectangle的构造函数被执行!endl;
}
void move(float a,float b);
void size(float a,float b);
void show();
friend void area(CRectangle h);
~CRectangle()
{
cout类CRectangle析构函数被执行!endl;
}
};
void CRectangle::move(float a,float b)
{
x=a;
y=b;
cout类CRectangle的成员函数move()被执行!endl;
}
void CRectangle::size(float a,float b)
{
c=a;
k=b;
cout类CRectangle的成员函数size()被执行!endl;
}
void CRectangle::show()
{
cout类CRectangle的成员函数show()被执行!endl;
cout矩形横纵坐标=x,y 长,宽=c,k 面积=sendl;
}
void area(CRectangle h)
{
cout类CRectangle的友元函数area()被执行!endl;
h.s=h.c*h.k;
}
void main()
{
cout********第1个对象的情况endl;
CRectangle M(0,0,0,0,0);//初始化
M.show();
cout请输入更改矩形横、纵坐标、长和宽的值:;
float a,b,c,d;
cinabcd;
M.move(a,b);
M.size(c,d);
area(M);
M.show();
coutendl;
cout********第2个对象的情况endl;
CRectangle N(1,1,1,1,1);//初始化
N.show();
cout请输入更改矩形横、纵
原创力文档


文档评论(0)