类的组合:computer

本文通过C++实现了一个简单的计算机组成模型,包括CPU、RAM和ROM等核心部件,并演示了这些部件的构建、运行和销毁过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<iostream>
using namespace std;
enum RAM_Type {DDR2=2, DDR3, DDR4};
enum CPU_Rank {P1,P2,P3,P4,P5,P6};
enum ROM_Type{SATA,USB};
enum ROM_Installation{external,builtin};
class RAM
{
private:
enum RAM_Type type;
int frequency;
int size;
public:
    RAM(RAM_Type t,int f,int s)
    {
        type=t;
        frequency=f;
        size=s;
        cout<<"构建了一个RAM!"<<endl;
    }
void Run()
{
    cout<<"RAM启动!"<<endl;}
void Stop()
{
    cout<<"RAM停止!"<<endl;

}
void print()
{
    cout<<"RAM版本为"<<type<<",频率为"<<frequency<<"赫兹,大小为"<<size<<"G"<<endl;

}
~RAM(){cout<<"析构了一个RAM!"<<endl;}
};
class CPU
{
private:
enum CPU_Rank rank;
int frequency;
int voltage;
public:
CPU(CPU_Rank r,int f,int v)
{
    rank=r;frequency=f;voltage=v;
    cout<<"构建了一个CPU!"<<endl;
}
void Run()
{
    cout<<"CPU启动!"<<endl;}
void Stop()
{
    cout<<"CPU停止!"<<endl;

}
void print()
{
    cout<<"CPU等级为"<<rank<<",频率为"<<frequency<<"赫兹,电压为"<<voltage<<"伏特"<<endl;

}
~CPU()
{cout<<"析构了一个CPU!"<<endl;}

};
class ROM
{
private:
    enum ROM_Type type;
    enum ROM_Installation installation; 
    int size;
public:
    ROM(ROM_Type t,ROM_Installation i,int s)
    {
        type=t;installation=i;size=s;
        cout<<"构建了一个ROM!"<<endl;
    }
void Run()
{
    cout<<"ROM启动!"<<endl;}
void Stop()
{
    cout<<"ROM停止!"<<endl;

}
void print()
{
    cout<<"ROM接口类型为"<<type<<",安装方式为"<<installation<<",大小为"<<size<<"G"<<endl;

}
~ROM()
{cout<<"析构了一个ROM!"<<endl;}
};
class Computer
{
private:
    CPU cpu;
    RAM ram;
    ROM rom;
public:
    Computer(CPU c,RAM a,ROM o):cpu(c),ram(a),rom(o)
    {
        cout<<"构建了一个Computer!"<<endl;
    }
    void Run()
{    cpu.Run();
    ram.Run();
    rom.Run();
    cout<<"Computer启动!"<<endl;}
void Stop()
{    cpu.Stop();
    ram.Stop();
    rom.Stop();
    cout<<"Computer停止!"<<endl;

}
void print()
{
    cpu.print();
    ram.print();
    rom.print();
    cout<<"这台电脑不能吃鸡!"<<endl;
}
};
int main()
{
    CPU a(P1,1333,5);
    RAM b(DDR4,1333,8);
    ROM c(SATA,external,500);
    Computer d(a,b,c);
    d.Run();
    d.print();//枚举类型只能输出整数 不能输出常量名
    d.Stop();
return 0;

}

 

输出的构造和析构次数不一样是因为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值