补充完以下的程序即CPU类,再写出程序的运行结果。 #include
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: 1 (CPU_Rank r=P1, int f=0, float v=0) // 构造函数的定义 { rank = r; frequency = f; voltage = v; // 初始化各数据成员 cout << " 构造了一个 CPU!" << endl; } 2 () { cout << " 析构了一个 CPU!" << endl; }// 析构函数的定义 void Run() {cout << "CPU 开始运行 !" << endl; } void Stop() {cout << "CPU 停止运行 !" << endl; } }; int main() { CPU a(P6,300,2.8); // 定义 CPU 类的对象,对象名为 a 3 () ; // 通过对象名a调用Run()成员函数 a.Stop(); // 通过对象名调用成员函数 return 0 ; } 实验要求: (1)在第4空位置写出程序的运行结果。 (2)根据CPU类的定义分析该类中包含哪些数据成员和成员函数? (3)在main中定义了该类的对象,根据运行结果分析构造函数CPU()、析构函数~CPU()、成员函数run(),stop()的调用顺序?(可使用debug功能观察类的构造函数、析构函数、成员函数的执行顺序) (4)试试可否在主函数中直接打印该对象的数据成员值(如rank),并分析原因?以上(2)-(4)分析结果不需要写在答案处。