构建电脑类:CPU类,RAM类,CD_ROM类,COMPUTER类

1.构建一个CPU类:

<pre name="code" class="cpp">enum CPU_Rank{ P1 = 1, P2, P3, P4, P5, P6, P7 };
//声明一个CPU类
class CPU{
private:
	CPU_Rank rank;  //CPU等级
	int frequency;  //CPU主频
	float voltage;  //电压
public:
	CPU(CPU_Rank r, int f, float v)
	{
		rank = r;
		frequency = f;
		voltage = v;
		cout << "构造了一个CPU!" << endl;
	}
	~CPU(){ cout << "析构了一个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开始运行!" << endl; }
	void Stop(){ cout << "CPU停止运行!" << endl; }
};

 2.构建一个RAM类: 

<pre name="code" class="cpp">//声明一个RAM类
enum RAM_Type{DDR2=2,DDR3,DDR4};
class RAM{
private:
	enum RAM_Type type;
	unsigned int frequency;  //MHz
	unsigned int size;  //GB
public:
	RAM(RAM_Type t, unsigned int f, unsigned int s)
	{
		type = t;
		frequency = f;
		size = s;
		cout << "构造了一个RAM" << endl;
	}
	~RAM(){ cout << "析构了一个RAM" << endl; }
	RAM_Type GetType()const { return type; }
	unsigned int GetFrequency()const { return frequency; }
	unsigned int GetSize()const { return size; }

	void SetType(RAM_Type t){ type = t; }
	void SetFrequency(unsigned int f){ frequency = f; }
	void SetSize(unsigned int s){ size = s; }
	void Run(){ cout << "RAM开始运行!" << endl; }
	void Stop(){ cout << "RAM停止运行!" << endl; }
};


 

3.构建一个CD_ROM类:

//声明一个CDROM类
enum CDROM_Interface{SATA,USB};
enum CDROM_Install_type{external,built_in};
class CD_ROM{
private:
	enum CDROM_Interface interface_type;
	enum CDROM_Install_type install_type;
	unsigned int cache_size;  //MB

public:
	CD_ROM(CDROM_Interface i, unsigned int s, CDROM_Install_type it)
	{
		interface_type = i;
		cache_size = s;
		install_type = it;
		cout << "构造了了一个CD_ROM!" << endl;
	}

	~CD_ROM(){ cout << "析构了一个CD_ROM!" << endl; }
	CDROM_Interface GetInterfaceType()const { return interface_type; }
	CDROM_Install_type GetInstallType()const{ return install_type; }
	unsigned int GetCacheSize()const { return cache_size; }

	void SetInterfaceType(CDROM_Interface i){ interface_type = i; }
	void SetInstallType(CDROM_Install_type it){ install_type = it; }
	void SetCacheSize(unsigned int s){ cache_size = s; }

	void Run(){ cout << "CD_ROM开始运行!" << endl; }
	void Stop(){ cout << "CD_ROM停止运行!" << endl; }
};


4.构造一个COMPUTER类:

<pre name="code" class="cpp">//构建COMPUTER类
class COMPUTER{
private:
	CPU my_cpu;
	RAM my_ram;
	CD_ROM my_cdrom;
	unsigned int storage_size;  //GB
	unsigned int bandwidth;  //MB

public:
	COMPUTER(CPU c, RAM r, CD_ROM cd, unsigned int ss, unsigned int bw);
	~COMPUTER(){ cout << "析构了一个COMPUTER" << endl; }

	void Run()
	{
		my_cpu.Run();
		my_ram.Run();
		my_cdrom.Run();
		cout << "COMPUTER开始运行!" << endl;
	}
	void Stop()
	{
		my_cpu.Stop();
		my_ram.Stop();
		my_cdrom.Stop();
		cout << "COMPUTER停止运行!" << endl;
	}
};

COMPUTER::COMPUTER(CPU c, RAM r, CD_ROM cd, unsigned int ss, unsigned int bw) :my_cpu(c), my_ram(r), my_cdrom(cd)
{
	storage_size = ss;
	bandwidth = bw;
	cout << "构造了一个COMPUTER!" << endl;
}


 

5.测试结果:

int main()
{
	CPU a(P6, 300, 2.8f);
	a.Run();
	a.Stop();
	cout << "******************" << endl;

	RAM b(DDR3, 1600, 8);
	b.Run();
	b.Stop();
	cout << "******************" << endl;

	CD_ROM c(SATA, 2, built_in);
	c.Run();
	c.Stop();
	cout << "******************" << endl;

	COMPUTER my_computer(a, b, c, 128, 10);
	cout << "******************" << endl;

	my_computer.Run();
	my_computer.Stop();
	return 0;
}

运行结果:



来自清华大学MOOC课件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值