实验类和对象文档格式.docx
- 文档编号:18054789
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:7
- 大小:41.11KB
实验类和对象文档格式.docx
《实验类和对象文档格式.docx》由会员分享,可在线阅读,更多相关《实验类和对象文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
2.定义一个简单的Computer类,有数据成员芯片(cpu>
、内存(ram>
、光驱(cdrom>
等等,有两个公有成员函数run、stop。
cpu为CPU类的一个对象,ram为RAM类的一个对象,edrom为CDROM类的一个对象,定义并实现这个类。
DXDiTa9E3d
3.设计并测试一个名为Ellipse的椭圆类,其数据成员为外切矩形的左上角与右下角两个点的坐标,计算并输出椭圆的面积。
RTCrpUDGiT
三、实验步骤:
1.首先定义枚举类型CPU_Rank,例如enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},再定义CPU类,包含等级(rank>
、频率(frequency>
等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。
在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。
程序名:
lab3_1.cpp。
5PCzVD7HxA
2.使用debug调试功能观察程序lab3_1.cpp的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。
参考程序如下:
jLBHrnAILg
#include<
iostream.h>
enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}。
classCPU
{
private:
CPU_Rankrank。
intfrequency。
floatvoltage。
public:
CPU(CPU_Rankr,intf,floatv>
{
rank=r。
frequency=f。
voltage=v。
cout<
<
"
构造了一个CPU!
endl。
}
~CPU(>
{cout<
析构了一个CPU!
}
CPU_RankGetRank(>
const{returnrank。
intGetFrequency(>
const{returnfrequency。
floatGetVoltage(>
const{returnvoltage。
voidSetRank(CPU_Rankr>
{rank=r。
voidSetFrequency(intf>
{frequency=f。
voidSetVoltage(floatv>
{voltage=v。
voidRun(>
CPU开始运行!
voidStop(>
CPU停止运行!
}。
voidmain(>
CPUa(P6,300,2.8>
。
a.Run(>
a.Stop(>
3.调试操作步骤如下:
(1>
单击Build|StartDebug|StepInto命令,或按下快捷键Fll,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时VisualStudio中光标停在main(>
函数的入口处;
xHAQX74J0X
(2>
从Debug菜单或Debug工具栏中单击StupeOver.此时,光标下移,程序准备执行CPU对象的初始化;
LDAYtRyKfE
(3>
单击StepInto,程序准备执行CPU类的构造函数;
(4>
连续单击StepOver,观察构造函数的执行情况.直到执行完构造函数,程序回到主函数;
(5>
此时程序准备执行CPU对象的run(>
函数.单击StepInto,程序进入run(>
成员函数,连续单击StepOver,直到回到main(>
函数;
Zzz6ZB2Ltk
(6>
继续执行程序,参照上述的方法.观察程序执行顺序.加深对类的构造函数、析构函数、成员函数的执行顺序的认识;
dvzfvkwMI1
(7>
再试试Debug菜单栏中别的菜单项,熟悉Dehug的各种方法。
4.首先定义CPU类(可使用第2题中的CPU类>
、RAM类、CDROM类。
再定义Computer类:
定义私有数据成员cpu、ranl、cdrom.定义公有成员函数run、stop,可在其中输出提示信息。
在主程序中定义一个Computer的对象,调用其成员函数,观察类对象及其成员变量的构造与析构顺序.以及成员函数的调用.程序名:
lab3_2.cpp。
rqyn14ZNXI
#include<
enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}。
classCPU//定义CPU类
classRAM//定义RAM类
intx。
RAM(inta>
{x=a。
cout<
构造了一个RAM!
~RAM(>
析构了一个RAM!
classCDROM//定义CDROM类
chary。
CDROM(charv>
{y=v。
cout<
构造了一个CDROM!
~CDROM(>
析构了一个CDROM!
classComputer//定义Computer类
CPUa。
RAMb。
CDROMc。
Computer(CPU_Rankx,inty,floatz,intxx,charyy>
//构造函数EmxvxOtOco
:
a(x,y,z>
b(xx>
c(yy>
{
cout<
构造了一个Computer!
~Computer(>
析构了一个Computer!
voidRun(>
Computer开始运行!
Computer停止运行!
Computerniu(P6,3,2.9,4,'
G'
>
niu.Run(>
niu.Stop(>
5.声明一个名为Ellipse的结构体,其分量为椭圆的外切矩形的左上角与右下角两个点的坐标,并用它声明两个结构体变量,分别输入顶点坐标,计算并输出椭圆的面积;
SixE2yXPq5
#definePI3.14
structEllipse
intleft。
inttop。
intright。
intbottom。
}E0={0,4,4,0}。
doubleArea(structEllipseE>
{
return(E.top-E.bottom>
*(E.right-E.left>
*PI/4。
EllipseE1={-1,3,1,0}。
Area(E1>
Area(E0>
实验总结:
此次实验对我来说比较难,大部分程序都是在同学的指导下才完成的。
为我以后做实验敲响了警钟,还要继续努力才行。
通过这次实验,我认识到了自己的差距,希望以后能越做越好。
6ewMyirQFL
信息安全一班
张巍
20070830126
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 对象
![提示](https://static.bdocx.com/images/bang_tan.gif)