【无标题】

文章展示了如何使用C++编写一个名为cpu的类,该类包含了描述CPU的关键属性,如时钟频率(限制在3GHz以内)、字长(32位或64位)、核数(单核、双核、四核)以及是否支持超线程。类使用位域来存储这些信息,并提供了一个显示这些属性的方法show()。通过sizeof(cpu)计算出类占用的内存大小。
摘要由CSDN通过智能技术生成

编写一个名为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;
    cout<<"hyperthread:   ";
    switch((unsigned)mode){
        case support: cout<<"support hyper-thread";break; 
        case notsupport: cout<<"not support hyper-thread";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、付费专栏及课程。

余额充值