用c++编写:定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run(提示信息“CPU开始运行”)、stop(提示信息“CPU停止运行”)。其中,rank为整型,frequency为单位是MHz的整型数,voltage为浮点型的电压值。在main函数中定义该类的一个对象,并调用其公有成员函数,观察构造函数和析构函数的调用顺序。试试能不能在主函数中打印该对象的属性值,并分析原因。
时间: 2024-03-24 09:38:12 浏览: 278
C++编程:CPU类
4星 · 用户满意度95%
好的,我来为您解答。
以下是使用C++编写的CPU类的代码:
```cpp
#include <iostream>
using namespace std;
class CPU {
public:
// 构造函数
CPU(int r, int f, float v) : rank(r), frequency(f), voltage(v) {
cout << "构造CPU对象" << endl;
}
// 析构函数
~CPU() {
cout << "销毁CPU对象" << endl;
}
// 公有成员函数
void run() {
cout << "CPU开始运行" << endl;
}
void stop() {
cout << "CPU停止运行" << endl;
}
private:
int rank; // 等级
int frequency; // 频率(MHz)
float voltage; // 电压
};
int main() {
// 定义CPU对象
CPU cpu(5, 3000, 1.2f);
// 调用公有成员函数
cpu.run();
cpu.stop();
// 打印对象的属性值
// cout << cpu.rank << endl; // 会编译错误
// cout << cpu.frequency << endl; // 会编译错误
// cout << cpu.voltage << endl; // 会编译错误
return 0;
}
```
在主函数中,我们定义了一个CPU对象,并调用了它的公有成员函数run()和stop()。在对象创建时,会自动调用构造函数,当对象被销毁时,会自动调用析构函数,这也是C++面向对象编程的一个重要特性。
由于rank、frequency和voltage是CPU类的私有成员变量,不允许在类外访问,因此在主函数中打印对象的属性值会编译错误。
希望我的回答能够帮助您。
阅读全文