4---19CPU类

编写名为一个CPU的类,描述一个CPU的以下信息:时钟频率,最大不会超过3000MHZ;字长,可以是32位或64位;核数,可以是单核、双核、或四核;是否支持超线程。各项信息要求使用位域来表示。通过输出sizeof(CPU)来观察该类所占的字节数。

#include<iostream>
using namespace std; 

enum Core{Single,Dual,Quad};
enum Words{Bit32,Bit64};
enum HyperThread{Support,NotSupport};
class CPU{
public:
  CPU(unsigned frequence,Core type,Words length,HyperThread mode)
    :frequence(frequence),CoreType(type),WordLen(length),mode(mode){}
  void show();
private:
   unsigned frequence:32;
   Core CoreType:3;
   Words WordLen:2;
   HyperThread mode:2;
   };
   
   void CPU::show() {
   	cout<<"Frequence:      "<<frequence<<endl;
   	cout<<"Core:     ";
   	switch((unsigned)CoreType){
   		case Single: cout<<"Single-Core";break;
   		case Dual: cout<<"Dual-Core";break;
   		case Quad: cout<<"Quad-Core";break;
	   }
	   cout<<endl;
	   cout<<" Words:    ";
	   switch((unsigned)WordLen){
	   	case Bit32:    cout<<"32-bits len";break;
	   	case Bit64:    cout<<"64-bits len";break;
	   }
	   cout<<endl;
   }
   int main(){
   	CPU c(3000000000,Quad,Bit64,Support);
   	cout<<"Size of Class CPU: "<<sizeof(CPU)<<endl;
   	c.show() ;
   	return 0;
   }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值