6-3 创建CPU

6-3 创建CPU

分数 5

作者 杨军

单位 四川师范大学

定义一个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!
#include<iostream>
using namespace std;
 enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7 };
 class CPU{
 	CPU_Rank Rank;
 	int frequency;
 	float voltage;
 	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 &c){
			Rank=c.Rank;
			frequency=c.frequency ;
			voltage=c.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;
		}
 };
 

#include<iostream>
using namespace std;
 enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7 };
 class CPU{
     CPU_Rank Rank;
     int frequency;
     float voltage;
     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 &c){
            Rank=c.Rank;
            frequency=c.frequency ;
            voltage=c.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;
        }
 };
 

enum 是 C++ 中的一个关键字,用于定义枚举类型。枚举类型是一种用户自定义的类型,它由一组具名的常量(称为枚举常量)组成。枚举常量的值默认从 0 开始递增,但你也可以显式地指定它们的值。

enum 的语法和解释

下面是你提供的枚举类型定义:

enum CPU_Rank { P1 = 1, P2, P3, P4, P5, P6, P7 }; 
解释
  1. enum CPU_Rank

    • enum 关键字用于定义一个枚举类型。
    • CPU_Rank 是枚举类型的名字。
  2. 枚举常量

    • { P1 = 1, P2, P3, P4, P5, P6, P7 } 是一组枚举常量。
    • P1 = 1:显式地将枚举常量 P1 的值指定为 1。
    • P2P3P4P5P6P7 没有显式指定值,因此它们的值将依次递增,即 P2 的值为 2,P3 的值为 3,依此类推,直到 P7 的值为 7。

 

代码解释

  1. CPU 类

    • CPU_Rank Rank:枚举类型,用于表示 CPU 的等级。
    • int frequency:表示 CPU 的频率。
    • float voltage:表示 CPU 的电压。
  2. 构造函数

    • 带默认参数的构造函数 CPU(CPU_Rank rank = P1, int f = 2, float v = 100):默认参数 rankP1frequency2voltage100。该构造函数在创建 CPU 对象时输出 "create a CPU!"。
    • 拷贝构造函数 CPU(const CPU &c):从现有的 CPU 对象 c 拷贝数据,并输出 "copy create a CPU!"。
  3. 析构函数

    • 析构函数 ~CPU():在销毁 CPU 对象时输出 "destruct a CPU!"。
  4. 成员函数 showinfo

    • void showinfo():显示 CPU 对象的性能参数,包括 Rankfrequencyvoltage
  • 22
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值