实验目的:
1.掌握类的定义和使用
2.掌握类的定义和对象的声明
3.复习具有不同访问属性的成员的访问方式
4.观察构造函数和析构函数的执行过程
5.学习类的组合使用方法
6.使用IDE的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。
实验要求:
1.定义一个CPU类,包含属性
等级(rank),rank为枚举类型CPU_Rank,定义为
enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}
频率(frequency),frequency为单位是MHz的整型数
电压(voltage),voltage为浮点型的电压值
有两个公有成员函数
run()、stop()
观察构造函数和析构函数的调用顺序。
2.定义并实现一个简单的Computer类
包含数据成员(芯片、内存以及光驱等):
芯片(cpu),cpu为CPU类的一个对象;
内存(ram),ram为RAM类的一个对象;
光驱(cdrom),cdrom为CDROM类的一个对象;
有两个公有成员函数run、stop。
实验内容:
首先定义枚举类型CPU_Rank,例如enum CPU_Rank{P1=1, P2, P3, P4, P5, P6, P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。
代码如下:
#include <iostream>
using namespace std;
enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7} ;
class CPU{
public:
CPU(CPU_Rank Rank, int Frequency,double Voltage);//构造函数
void Run(){cout<<"CPU run"<<endl;};
void Stop(){cout<<"CPU stop"<<endl;};
~CPU();//析构函数
private: int frequency;
double voltage;
CPU_Rank rank;
};
CPU::CPU(CPU_Rank Rank, int Frequency,double Voltage)
{rank=Rank;frequency=Frequency;voltage=Voltage;cout<<"Construct CPU"<<endl;}//函数实现
CPU::~CPU(){cout<<"Destruct CPU"<<endl;}
int main()
{
CPU a(P6, 300, 2.8);
a.Run();
a.Stop();
return 0;
}