创建CPU

6-1 创建CPU

分数 10

全屏浏览题目

切换布局

作者 杨军

单位 四川师范大学

定义一个CPU类,包含等级(Rank)、频率(frequency)、电压(voltage)等属性。其中,rank为枚举类型CPU__Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。

函数接口定义:

 

根据题目要求写出类。

裁判测试程序样例:

 

/* 请在这里填写答案 */ int main() { CPU a(P6,3,300); cout<<"cpu a's parameter"<<endl; a.showinfo(); //显示性能参数 CPU b; cout<<"cpu b's parameter"<<endl; b.showinfo(); //显示性能参数 CPU c(a); cout<<"cpu c's parameter"<<endl; c.showinfo(); //显示性能参数 }

输入样例:

输出样例:

create a CPU!
cpu a's parameter
rank:6
frequency:3
voltage:300
create a CPU!
cpu b's parameter
rank:1
frequency:2
voltage:100
copy create a CPU!
cpu c's parameter
rank:6
frequency:3
voltage:300
destruct a CPU!
destruct a CPU!
destruct a CPU!

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

#include <iostream>
#include <cstdio>
using namespace std;
enum CPU_Rank { P1 = 1, P2, P3, P4, P5, P6, P7 };//枚举法
/* 请在这里填写答案 */
class CPU
{
public:
    CPU(CPU_Rank rank=P1, int f=2, float v=100)//构造函数并用传统方法初始化
    {
        Rank = rank;
        frequency = f;
        voltage = v;
        cout << "create a CPU!" << endl;
    }
    CPU(const CPU &p)//采用引用方法来减少内存同时加上不可修改(const)
    {
        Rank = p.Rank;
        frequency = p.frequency;
        voltage = p.voltage;
        cout<<"copy create a CPU!"<<endl;
    }
    ~CPU()          //析构函数
    {
        cout << "destruct a CPU!" << endl;
    }
    void showinfo()  //自定义函数用来展示
    {
        cout << "rank:" << Rank << endl;
        cout << "frequency:" << frequency << endl;
        cout << "voltage:" << voltage << endl;
    }
private:
    CPU_Rank Rank;
    int frequency;
    double voltage;
};
/*                          //全部注释掉
int main()
{
    CPU a(P6, 3, 300);

    cout << "cpu a's parameter" << endl;
    a.showinfo(); //显示性能参数
    
    CPU b;
    cout << "cpu b's parameter" << endl;
    b.showinfo(); //显示性能参数
    
    CPU c(a);
    cout << "cpu c's parameter" << endl;
    c.showinfo(); //显示性能参数
}
*/

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是题目要求的CPU的定义和实现: ```cpp #include <iostream> using namespace std; enum CPU_Rank { P1 = 1, P2, P3, P4, P5, P6, P7 }; class CPU { private: CPU_Rank rank; int frequency; float voltage; public: CPU(CPU_Rank r = P1, int f = 2, float v = 100.0) : rank(r), frequency(f), voltage(v) { cout << "create a CPU!" << endl; } CPU(const CPU& c) : rank(c.rank), frequency(c.frequency), voltage(c.voltage) { cout << "copy create a CPU!" << endl; } ~CPU() { cout << "destruct a CPU!" << endl; } void showinfo() const { cout << "rank:" << rank << " frequency:" << frequency << " voltage:" << voltage << endl; } }; int main() { CPU a(P6, 3, 300); cout << "cpu a's parameter" << endl; a.showinfo(); CPU b; cout << "cpu b's parameter" << endl; b.showinfo(); CPU c(a); cout << "cpu c's parameter" << endl; c.showinfo(); return 0; } ``` 输出结果如下: ``` create a CPU! cpu a's parameter rank:6 frequency:3 voltage:300 create a CPU! cpu b's parameter rank:1 frequency:2 voltage:100 copy create a CPU! cpu c's parameter rank:6 frequency:3 voltage:300 destruct a CPU! destruct a CPU! destruct a CPU! ``` 以上代码实现了一个CPU包含等级率和电压属性。构造函数可以通过提供等级率和电压来创建CPU对象,如果没有提供这些参数,则使用默认值。showinfo函数用于显示CPU对象的性能参数。析构函数在对象被销毁时自动调用。在main函数中,我们创建了三个CPU对象,并分别显示它们的性能参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值