面向对象软件工程综合实验 软件工程实验4Word格式.docx

上传人:b****2 文档编号:5843219 上传时间:2023-05-05 格式:DOCX 页数:13 大小:474.43KB
下载 相关 举报
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第1页
第1页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第2页
第2页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第3页
第3页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第4页
第4页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第5页
第5页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第6页
第6页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第7页
第7页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第8页
第8页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第9页
第9页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第10页
第10页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第11页
第11页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第12页
第12页 / 共13页
面向对象软件工程综合实验 软件工程实验4Word格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

面向对象软件工程综合实验 软件工程实验4Word格式.docx

《面向对象软件工程综合实验 软件工程实验4Word格式.docx》由会员分享,可在线阅读,更多相关《面向对象软件工程综合实验 软件工程实验4Word格式.docx(13页珍藏版)》请在冰点文库上搜索。

面向对象软件工程综合实验 软件工程实验4Word格式.docx

1.目的与要求

掌握类的定义和使用。

掌握类的定义和对象的声明。

复习具有不同访问属性的成员的访问方式。

察构造函数和析构函数的执行过程。

学习类的聚集使用方法。

使用DEBUG来调试程序,跟踪观察类的构造函数,析构函数,成员函数的执行顺序。

2.实验内容

1)定义一个CPU类,包含等级(rank),频率(frequency),电压(voltage)等属性,有两个公有成员函数run,stop.其中rank为枚举类型CPU_Rank,定义为enumCPU_Rank={P1=1,P2,P3,P4,P5,P6,P7},frequency为单位为MHz的整型数,voltage为浮点型的电压值.观察构造函数和析构函数的调用顺序.

2)定义一个简单的Computer类,有数据成员芯片(cpu),内存(ram),光驱(cdrom)等等,cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。

3)(选做)设计一个用于人事管理的People(人员)类.考虑到通用性,这里只抽象出所有类型人员都具有的属性:

number(编号),sex(性别),birthday(出生日期),id(身份证号)等等.其中"

出生日期"

定义为一个"

日期"

类内嵌子对象.用成员函数实现对人员信息的录入和显示.要求包括:

构造函数和析构函数,拷贝构造函数,内联成员函数。

3.实验步骤

首先定义枚举类型CPU_Rank,例如enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},再定义CPU类,包含等级(rank),频率(frequency),电压(voltage)等私有数据成员,定义成员函数run,stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息.在主程序中定义一个CPU类的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用.程序名:

lab4_1.cpp。

使用debug调试功能观察lab4_1.cpp的运行流程,跟踪观察类的构造函数,析构函数,成员函数的执行顺序.参考程序如下:

//lab4_1.cpp

#include

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!

}

~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(){cout<

CPU开始运行!

VoidStop(){cout<

};

voidmain()

CPUa(P6,300,2.8);

Run();

Stop();

(3)调试操作步骤如下:

Build|StartDebug|StepInto命令,系统进行单步执行状态,程序开始运行,一个DOS窗口出现,此时光标停在main()函数的入口处;

A)从Debug菜单栏中单击StepOver,此时,光标下移,程序准备执行CPU对象的初始化;

B)单击StepInto,程序准备执行CPU类的构造函数;

C)连续单击StepOver,观察构造函数的执行情况,直到执行完构造函数,程序回到主函数;

D)此时程序准备执行CPU对象的run()函数,单击StepInto,程序进入run()成员函数,连续单击StepOver,直到回到main()函数;

E)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数,析构函数,成员函数的执行顺序的认识;

F)再试Debug菜单栏中的别的菜单项,熟悉Debug的各种方法。

G)选定义CPU类,RAM类,CDROM类.再定义Computer类:

定义私有数据成员cpu,ram,cdrom,定义公有成员函数run,stop,可在其中输出提标信息居主程序中定义一个Computer的对象,调用其成员函数,观察类对象及其成员变量的构造与析构顺序,以及成员函数的调用.程序名:

lab4_2.cpp。

(5)使用debug调试功能观察lab4_2.cpp程序的运行流程,跟踪观察类的构造函数,析构函数,成员函数的执行顺序,特别注意观察成员变量的构造与析构顺序。

4.测试数据与实验结果

Lab4_1

Lab4_2

5.实验体会

本次实验主要是考察C++的类和软件工程知识点相互结合的综合性比较高的实验,我做的实验部分是关于一个CPU类包括等级;

电压;

频率,来测试学习类的定义和使用并且用DEBUG调试,观察构造函数的调用顺序。

这次实验帮助我们复习了C++中的类,感觉自己还欠缺很多,并且这次其中融合了软件工程的知识点中,使我认识到自身的不足。

副实验代码:

#include<

iostream.h>

enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};

classCPU

CPU_Rankrank;

intfrequency;

doublevoltage;

public:

CPU(CPU_RankinitialRank,intinitialFrequency,doubleinitialVoltage)

rank=initialRank;

frequency=initialFrequency;

voltage=initialVoltage;

cout<

endl<

Rank:

rank<

Frequency:

frequency<

Voltage:

voltage<

endl;

~CPU()

voidrun();

voidstop();

voidCPU:

:

run(){cout<

stop(){cout<

CPU停止运行!

CPUcpu(P5,300,2.8);

cpu.run();

cpu.stop();

l//lb4_2.cpp

#include<

iostream>

usingnamespacestd;

classvehicle

floatMaxspeed;

floatWeight;

voidRun(){cout<

Memberofvehicle开始运行!

voidStop(){cout<

Memberofvehicle停止运行!

classbicycle:

virtualpublicvehicle

{public:

floatHeight;

classmotorcar:

intSeatNum;

classmotorcycle:

virtualpublicbicycle,virtualpublicmotorcar

{};

motorcyclem;

m.Run();

m.Stop();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2