#include<iostream>
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:
void SetRank(CPU_Rank r){rank=r;
}
void SetFrequency(int f){frequency=f;
}
void SetVoltage(float v){voltage=v;
}
CPU_Rank GetRank()
{return rank;
}
int GetFrequency(){return frequency;
}
int GetVoltage(){return voltage;
}
CPU(CPU_Rank r=P1,int f=1000,float v=220.5);
void Run(){
cout<<"CPU Run!"<<endl;
}
void Stop(){
cout<<"CPU Stop!"<<endl;
}
~CPU(){
cout<<"Destruct CPU!"<<endl;
}
void show(){cout<<"rank="<<rank<<" frequency="<<frequency<<" voltage="<<voltage<<endl;
}
};
CPU::CPU(CPU_Rank r,int f,float v)
{
cout<<"Construct CPU!"<<endl;
rank=r; frequency=f; voltage=v;
cout<<"rank="<<rank<<" frequency="<<frequency<<" voltage="<<voltage<<endl;
}
int main()
{ CPU c;
c.Run();
c.Stop();
c.SetRank(P5);
c.SetVoltage(220.4);
c.show();
c.SetVoltage(220.4);
return 0;
}
【问题描述】声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有属性,有两个公有成员函数Run、Stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};frequency为单位是MHz的整型数,vlotage为浮点型的电压值。
(1)分别编写不同的Set函数和Get函数修改、获取私有数据成员,例如void SetRank(CPU_Rank cr); CPU_Rank GetRank();
(2)请设计带默认值的构造函数,其参数分别给等级、频率、电压赋予默认参数值:P1,1000,220.5。
(3)请在构造函数中输出三个私有数据成员的值,例如:rank=1 frequency=1000 voltage=220.5
(4)请在主函数中调用Run函数、Stop函数,并输出相应的提示语句代表该函数被调用执行。
(5)请在主函数中调用相应的Set函数修改等级为P5,修改电压为220.4,并调用Get函数进行输出。
(6)请观察分析析构函数的输出。
【输入样例】无
【输出样例】