《C++程序设计》实验二报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++程序设计(B)》课程实验报告
姓名:满恂钰
班级学号:通信2班2016080331040
学院:智慧城市学院
专业:通信工程
指导教师:肖明明
2018年05月14日
实验二类和对象
上课时间:2018.5.14 地点:实验楼0709
一实验目的
1.掌握类的声明和使用。
2.掌握对象的声明。
3.复习具有不同访问属性的成员的访问方式。
4.观察构造函数和析构函数的执行过程。
5.学习类的组合使用方法。
二实验内容
1、实验内容1
声明一个CPU 类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run 、stop。其中,rank 为枚举类型CPU-Rank,声明为enum CPU-Rank{P1=1,P2,P3,P4,P5,P6,P7};frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。
【源程序】
#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:
CPU(int ra,int fre,float vol)
{
rank=(CPU_Rank)ra;
frequency=fre;
voltage=vol;
cout<<"等级:"< cout<<"频率:"< cout<<"电压:"< cout<<"构造了一个CPU!"< } ~CPU() { cout<<"析构了一个CPU!"< } void Run() { cout<<"CPU is runing!"< } void Stop() { cout<<"CPU is stop!"< } }; int main() { CPU a(2,30,220); a.Run(); a.Stop(); } 【结果及分析】 (1)实验结果截图 (2)实验结果分析:掌握了类的声明和使用以及对象的声明,初步明白了析构函数和构造函数的调用顺序,实验通过。 【错误及解决办法】 错误:cout<<"等级:"< 解决方法:把enum(P7)替换成ra即可。 2、实验内容2 声明一个简单的Computer 类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run 和stop。Cpu 为CPU 类的一个对象,ram 为RAM 类的一个对象,cdrom 为CDROM 类的一个对象,声明并实现这个类。 【源程序】 #include using namespace std; enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}; class CPU { private: CPU_Rank rank; int Cpu; public: CPU(){cout<<"构造了一个CPU!"< ~CPU(){cout<<"析构了一个CPU!"< void Run(){cout<<"CPU is runing!"< void Stop(){cout<<"CPU is stop!"< class RAM { private: int ram; public: RAM(){cout<<"构造了一个ram!"< ~RAM(){cout<<"析构了一个ram!"< void stop(){cout<<"ram停止运行!"< class CDROM { private: int cdrom; public: CDROM(){cout<<"构造了一个cdrom!"< ~CDROM(){cout<<"析构了一个cdrom!"< void Run(){cout<<"cdrom开始运行!"< void stop(){cout<<"cdrom停止运行!"< }; class COMPUTER { private: CPU Cpu; RAM ram; CDROM cdrom; public: COMPUTER(){cout<<"构造了一个computer!"< ~COMPUTER(){cout<<"析构了一个computer!"< void Run(){cout<<"computer开始运行"< void Stop(){cout<<"computer停止运行"< }; int main(){ COMPUTER a; a.Run(); a.Stop(); return 0; }