6-3 创建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!
时间: 2024-03-03 21:51:11 浏览: 30
以下是题目要求的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对象,并分别显示它们的性能参数。