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(); //显示性能参数
}
*/