定义CPU类
#include <iostream> #include <iomanip> enum CPU_Rank { P1 = 1, P2, P3, P4, P5, P6, P7 }; class CPU { public: CPU(CPU_Rank r, int f, double v) : rank(r), frequency(f), voltnumber(v) { std::cout << "CPU's constructor is called!" << std::endl; } ~CPU() { std::cout << "CPU's destructor is called!" << std::endl; } void run() { std::cout << "I am working, my rank is " << static_cast<int>(rank) << ", my frequency is " << frequency << ", my voltnumber is " << std::fixed << std::setprecision(1) << voltnumber << "." << std::endl; } void stop() { std::cout << "I stopped working!" << std::endl; } private: CPU_Rank rank; int frequency; double voltnumber; }; int main() { int rank, frequency; double voltnumber; std::cin >> rank >> frequency >> voltnumber; CPU myCpu(static_cast<CPU_Rank>(rank), frequency, voltnumber); myCpu.run(); myCpu.stop(); return 0; }
这里定义了一个枚举类型 CPU_Rank
,用于表示 CPU 的等级。枚举值从 P1
开始,显式地初始化为 1
,后续的枚举成员(P2
、P3
等)依次递增,默认增量为 1
,所以 P2
的值为 2
,P3
的值为 3
,以此类推。枚举类型方便在代码中用有意义的符号来表示不同的 CPU 等级情况。
构造函数:CPU(CPU_Rank r, int f, double v) : rank(r), frequency(f), voltnumber(v) 是类 CPU 的构造函数,它接受三个参数,分别是表示 CPU 等级的 CPU_Rank 类型参数 r、表示 CPU 频率的整型参数 f 和表示 CPU 电压值的双精度浮点型参数 v。构造函数使用初始化列表的方式对类中的私有成员变量 rank、frequency 和 voltnumber 进行初始化,并且在构造函数被调用时会输出提示信息 "CPU's constructor is called!",用于在控制台显示构造函数执行的情况,方便调试和了解对象创建的时机。