阅读背景:

C++练习——COMPUTER类_Hans的博客

来源:互联网 
#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;
enum CPU_Rank
	{
		P1=1,P2,P3,P4,P5,P6,P7
	};
class CPU
{
public:
	CPU(CPU_Rank r,int f,float v):rank(r),frequency(f),voltage(v)
	{cout<<"CPU constructed!"<<endl;}
	~CPU(){cout<<"CPU destructed!"<<endl;}
	CPU_Rank getRank() const{return rank;}
	int getFrequency() const{return frequency;}
	float getVoltage() const{return voltage;}//外部接口函数,加const是为了防止误改类属性值
	void setRank(CPU_Rank r){rank=r;}
	void setFrequency(int f){frequency=f;}
	void setVoltage(float v){voltage=v;}//用于改变类属性值的外部接口函数
	void run(){cout<<"CPU running..."<<endl;}
	void stop(){cout<<"CPU stop working"<<endl;}

private:
    CPU_Rank rank;
	int frequency;
	float voltage;
};

enum RAM_Type
{
	DDR2=2,DDR3,DDR4
};
class RAM
{
public:
	RAM(RAM_Type t,int f,int s):type(t),frequency(f),size(s)
	{cout<<"RAM constructed!"<<endl;
	}

	~RAM()
	{cout<<"RAM destructed!"<<endl;
	}
	RAM_Type getType() const{return type;}
	int getFrequency() const{return frequency;}
	float getSize() const{return size;}//外部接口函数,加const是为了防止误改类属性值
	void setType(RAM_Type t){type=t;}
	void setFrequency(int f){frequency=f;}
	void setSize(int s){size=s;}//用于改变类属性值的外部接口函数
	void run(){cout<<"RAM running..."<<endl;}
	void stop(){cout<<"RAM stop working"<<endl;}
private:
	RAM_Type type;
	int frequency;
	int size;
};

enum CDROM_Interface
{
	SATA,USB
};
enum CDROM_Install_Type
{
	external,built_in
};
class CDROM
{
public:
	CDROM(CDROM_Interface i,CDROM_Install_Type it,int s):interface(i),install_type(it),cache_size(s)
	{cout<<"CDROM constructed!"<<endl;
	}

	~CDROM()
	{cout<<"CDROM destructed!"<<endl;
	}
	CDROM_Interface getInterface() const{return interface;}
	CDROM_Install_Type getInstallType() const{return install_type;}
	int getCacheSize() const{return cache_size;}//外部接口函数,加const是为了防止误改类属性值
	void setType(CDROM_Interface i){interface=i;}
	void setInstallType(CDROM_Install_Type it){install_type=it;}
	void setCacheSize(int s){cache_size=s;}//用于改变类属性值的外部接口函数
	void run(){cout<<"CDRAM running..."<<endl;}
	void stop(){cout<<"CDRAM stop working"<<endl;}
private:
	CDROM_Interface interface;
	CDROM_Install_Type install_type;
	int cache_size;
};

class COMPUTER
{
public:
	COMPUTER(CPU cpu,RAM ram,CDROM cdrom,int s,int b):my_cpu(cpu),my_ram(ram),my_cdrom(cdrom),storage_size(s),bandwidth(b)
	{cout<<"COMPUTER constructed!"<<endl;
	}

	~COMPUTER()
	{cout<<"COMPUTER destructed!"<<endl;
	}
	void run()
	{
		my_cpu.run();
		my_ram.run();
		my_cdrom.run();
	}
	void stop()
	{
		my_cpu.stop();
		my_ram.stop();
		my_cdrom.stop();
	}
private:
	CPU my_cpu;
	RAM my_ram;
	CDROM my_cdrom;
	int storage_size;
	int bandwidth;
};

int _tmain(int argc, _TCHAR* argv[])
{
	CPU a(P2,300,1.2);
	RAM b(DDR3,1600,8);
	CDROM c(SATA,built_in,2);
	COMPUTER my_computer(a,b,c,128,10);
	my_computer.run();
	my_computer.stop();
	system("Pause");
	return 0;
}#include "stdafx.h"
#include <iostream>
#includ



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: