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 };
解释
-
enum CPU_Rank
:enum
关键字用于定义一个枚举类型。CPU_Rank
是枚举类型的名字。
-
枚举常量:
{ P1 = 1, P2, P3, P4, P5, P6, P7 }
是一组枚举常量。P1 = 1
:显式地将枚举常量P1
的值指定为 1。P2
、P3
、P4
、P5
、P6
、P7
没有显式指定值,因此它们的值将依次递增,即P2
的值为 2,P3
的值为 3,依此类推,直到P7
的值为 7。
代码解释
-
CPU 类:
CPU_Rank Rank
:枚举类型,用于表示 CPU 的等级。int frequency
:表示 CPU 的频率。float voltage
:表示 CPU 的电压。
-
构造函数:
- 带默认参数的构造函数
CPU(CPU_Rank rank = P1, int f = 2, float v = 100)
:默认参数rank
为P1
,frequency
为2
,voltage
为100
。该构造函数在创建 CPU 对象时输出 "create a CPU!"。 - 拷贝构造函数
CPU(const CPU &c)
:从现有的CPU
对象c
拷贝数据,并输出 "copy create a CPU!"。
- 带默认参数的构造函数
-
析构函数:
- 析构函数
~CPU()
:在销毁 CPU 对象时输出 "destruct a CPU!"。
- 析构函数
-
成员函数
showinfo
:void showinfo()
:显示 CPU 对象的性能参数,包括Rank
、frequency
和voltage
。