题目描述:
声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run和stop
其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};
frequency为单位是MHz的整型数,voltage为浮点型的电压值。
(1). 分别编写不同的set函数和get函数修改、获取私有数据成员。
(2). 在构造函数、析构函数、run函数、stop函数中分别输出对应的提示语句。
(3). 在主函数中调用run和stop函数,并观察构造函数和析构函数的调用顺序。
方法1:
#include <iostream>
using namespace std;
class CPU
{
private:
enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};
int CPU_Frequency;
float CPU_Voltage;
public:
CPU();//构造函数
~CPU();//析构函数
void CPU_Set(int f,float v);//修改数据成员
int GetFrequency(){return CPU_Frequency;}//获取私有数据成员CPU_Frequency
float GetVoltage(){return CPU_Voltage;}//获取私有数据成员CPU_Voltage
void CPU_Run();
void CPU_Stop();
};
CPU::CPU()//构造函数
{
cout << "构造了一个CPU!" << endl;
}
CPU::~CPU()//析构函数
{
cout << "析构了一个CPU!" << endl;
}
void CPU::CPU_Set(int f,float v)//修改数据成员
{
CPU_Frequency = f;
CPU_Voltage = v;
}
void CPU::CPU_Run()
{
cout << "CPU开始运行!" << endl;
}
void CPU::CPU_Stop()
{
cout << "CPU停止运行!" << endl;
}
int main()
{
CPU cpu;
cpu.CPU_Run();
cpu.CPU_Stop();
return 0;
}
方法2::
#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:
CPU(int newrank,int newfrequency,float newvoltage);
void run();
void stop();
~CPU(){cout<<"成功调用析构函数"<<endl;}
};
void CPU::run()
{
cout<<"程序开始执行"<<endl;
}
void CPU::stop()
{
cout<<"程序结束"<<endl;
}
CPU::CPU(int newrank,int newfrequency,float newvoltage)
{
rank=(CPU_Rank)newrank;
frequency=newfrequency;
voltage=newvoltage;
cout<<"成功调用构造函数"<<endl;
cout<<"等级:"<<rank<<endl;
cout<<"频率:"<<frequency<<endl;
cout<<"电压:"<<voltage<<endl;
}
int main()
{
CPU cpu(P3,60,220);
cpu.run();
cpu.stop();
return 0;
}