C上机实验报告实验三

上传人:cn****1 文档编号:486562779 上传时间:2023-04-26 格式:DOC 页数:23 大小:439.50KB
返回 下载 相关 举报
C上机实验报告实验三_第1页
第1页 / 共23页
C上机实验报告实验三_第2页
第2页 / 共23页
C上机实验报告实验三_第3页
第3页 / 共23页
C上机实验报告实验三_第4页
第4页 / 共23页
C上机实验报告实验三_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C上机实验报告实验三》由会员分享,可在线阅读,更多相关《C上机实验报告实验三(23页珍藏版)》请在金锄头文库上搜索。

1、螅实验三类与对象莄12 螁 实验目的螇 1.掌握类的定义和使用袅 2.掌握类的定义和对象的声明蒁 3.复习具有不同访问属性的成员的访问方式艿 4.观察构造函数和析构函数的执行过程薆 5.学习类的组合使用方法羄 6.使用 VC+的 debug 调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。袂 2.实验要求羁 1.定义一个 CPU类,包含等级( rank )、频率( frequency )、电压( voltage )等属性,有两个 公 有 成 员 函 数 run 、 stop 。 其 中 , rank 为 枚 举 类 型 CPU_Rank,定 义 为 enumCPU_R

2、ankP1=1,P2,P3,P4,P5,P6,P7, frequency 为单位是 MHz 的整型数, voltage 为浮点型的电压值。观察构造函数和析构函数的调用顺序。蕿肄 2.定义一个简单的 Computer 类,有数据成员芯片( cpu)、内存( ram )、光驱( cdrom)等等,有两个公有成员函数 run 、stop 。cpu 为 CPU类的一个对象, ram 为 RAM 类的一个对象,cdrom 为 CDROM 类的一个对象,定义并实现这个类。芃葿 3. (选做)设计一个用于人事管理的 People(人员 )类。考虑到通用性这里只抽象出所有类型人员都具有的属性: number(

3、编号)、sex(性别)、birthday (出生日期)、id(身份证号)等等。其中 “出生日期 ”定义为一个 “日期 ”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。莈lab4_2.cpp.lab4_1.cpp膄 3.实验内容蚄 1.首先定义枚举类型 CPU_Rank,例如 enum CPU_RankP1=1, P2, P3, P4, P5, P6, P7,再定义CPU类,包含等级( rank)、频率( frequency )、电压( voltage )等私有数据成员,定义成员函数 run 、 stop ,用来输出提示信息,

4、在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个 CPU 的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:膁肇 2.使用 debug 调试功能观察程序 lab4_1.cpp 的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。芄肅 3.调试操作步骤如下:薈 1)单击 Build | Start Debug | Step Into 命令,或按下快捷键 F11,系统进入单步执行状态,程序开始运行,一个 DOS窗口出现,此时 Visual Studio 中光标停在 main() 函数的入口处;膀 2)从 Debug 菜单或 Debug 工具栏中

5、单击Step Over,此时,光标下移,程序准备执行CPU对象的初始化;芄 3)单击 Step Into ,程序准备执行 CPU类的构造函数;节 4)连续单击 Step Over,观察构造函数;莀 5)此时程序准备执行 CPU对象的 run() 函数,单击 Step Into ,程序进入 run()成员函数,连续单击 Step Over,直到回到 main() 函数。袈 6)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数、析构函数、成员函数的执行顺序的认识。莄 7)再试试Debug 菜单栏中别的菜单项,熟悉Debug 的各种方法。蚂肂 4.首先定义 CPU 类(可使用第二

6、题中的 CPU类)、 RAM 类、 CDROM 类。再定义 Computer类;定义私有数据成员 cpu、 ram、 cdrom ,定义公有成员函数 run、 stop ,可在其中输出提示信息。在主程序中定义一个 Computer 的对象,调用其成员函数,观察类对象及其成员变量的构造与析构顺序,以及成员函数的调用。程序名:蚇1.2.蒄 使用 debug 调试功能观察 lab4_2.cpp 程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序,特别注意观察成员变量的构造与析构顺序。肃蒀 4.思考题:蒆 1.如何定义一个类?薄 class 类名称蒄 膂 public:葿外部接口蚃 p

7、rotected:薁保护型成员蚀 private:芈私有成员螃 ;羂 2.如何定义类的构造函数和析构函数?莂 class 类名称肇 肇 public:莃类名(形参表);/ 构造函数声明袀类名(类名 & 对象名) ;/ 拷贝构造函数声明肀类名() ;/ 析构函数声明膇螄 ;薂 类名 :类名(形参表)/ 构造函数实现衿 芇函数体膅 罿 类名 :类名(类名 & 对象名) / 拷贝构造函数实现薇 莇函数体莁 螁 类名 :类名() / 析构函数实现莆 蒇函数体螂 腿 3.类的各成员函数的执行顺序是怎样的?荿成员函数只有被调用时才会执行。蒇 4.类组合时对象的构造顺序是怎样的?膃当创建一个类对象时, 如果

8、类中具有内嵌对象成员, 那么各个内嵌对象将首先被自动创建。因此在构造数据成员时, 首先调用内嵌对象的构造函数, 调用顺序按照内嵌对象在组合类的定义中出现的次序,之后再执行本类构造函数的函数体,对本类的数据成员进行构造。袁膈 5.源程序薆 1 lab4_1.cpp薄 #include荿 using namespace std;羇 enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7;蚆 class CPU蚁 肁 private:蚆 CPU_Rank rank;螆 int frequency;肂 float voltage;葿 public:蝿袆蒃芁蒈羆袄蚈芆肆芄莀艿/ 构造函

9、数CPU(CPU_Rank r, int f, float v)rank=r;frequency=f;voltage=v;cout 构造了一个CPU!endl;/ 拷贝构造函数CPU(CPU &p)rank=p.rank;frequency=p.frequency;肆莁膂肈膆螂薀袇芅膃节蚆莅薄voltage=p.voltage;cout 拷贝构造了一个CPU!endl;/ 析构函数CPU()cout析构了一个CPU!endl;/getCPU_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage

10、()return voltage;/setvoid SetRank(CPU_Rank r)rank=r;void SetFrequency(int f)frequency=f;void SetVoltage(float v)voltage=v;void Run()coutCPU 开始运行 !endl;螀 void Stop()coutCPU 停止运行 !endl;虿 ;蒅螁 void main()蒂 蒈 CPU a(P6, 300, 2.8);薅 a.Run();膂 a.Stop();罿 CPU b(a);膇 b.Run();蚅 b.Stop();薃 蚁34 艿 lab4_2.cpp蚅 #include羃 using namespace std;聿 enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7;羈 enum RAM_Rank G1=1,G2,G4,G8;螅 enum CDROM_Speed X24=1,X36,X40,X50;莄 enum CDROM_Rank M700=1,M750,M800;螁 class CPU螇 袅 private:蒁 CPU_Rank rank;艿 int frequency;薆 float voltage;羄 public:袂 / 构造函数羁 CPU(CPU_Rank r, int f, float v)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号