#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 (CPU_Rank r, int f, float v)
{
rank = r;
frequency = f;
voltage = v;
cout << "Constructed a CPU!" << endl;
< p> }CPU()
{
cout << "Constructed a CPU!" << endl;
} ;
~CPU ()
{
cout << "Destructed a CPU!" << endl;
}
CPU_Rank GetRank() const { return rank; }
int GetFrequency() const { return frequency; }
float GetVoltage() const { return voltage; }
void SetRank(CPU_Rank r) { rank = r; }
void SetFrequency(int f) { frequency = f; }
void SetVoltage(float v) { voltage = v; }
void Run() {cout << "CPU starts running!" << endl; }
void Stop() {cout << " CPU stopped running!" << endl; }
};
class RAM
{
public:
< p> RAM (){
cout << "Constructed a RAM!" << endl;
}
~ RAM ()
{
cout << "Destructed a RAM!" << endl;
}
void Run () {cout << "RAM starts running!" << endl; }
void Stop() {cout << "RAM stops running!" << endl; }
};
class CDROM
{
public:
CDROM (){ cout << "Constructed a CDROM!" < < endl; }
~CDROM ()
{
cout << "Destructed a CDROM!" << endl;
< p> }void Run() {cout << "CDROM starts running!" << endl; }
void Stop() {cout << "CDROM stops running!" << endl; }
};
class COMPUTER
{
private:
CPU cpu;
RAM ram;
CDROM cdrom;
public:
COMPUTER()
{
cout << "Constructed a COMPUTER!" << endl;
}
~COMPUTER ()
{
< p> cout << "Destructed a COMPUTER!" << endl;}
void Run()
{
cout << "COMPUTER starts running!" << endl;
cpu.Run();
ram.Run();
} p>
void Stop()
{
ram.Stop();
cpu.Stop();
cout << "COMPUTER stopped running!" << endl;
}
};
int main()
{< /p>
COMPUTER a;
a.Run();
a.Stop();
}