C++ CPU 类设计与实现:构造函数、析构函数、拷贝构造函数
C++ CPU 类设计与实现
**1. CPU 类声明:**c++enum CPU_Rank { P1 = 1, P2, P3, P4, P5, P6, P7 };
class CPU {private: CPU_Rank rank; int frequency; float voltage;
public: void run(); void stop(); void setCPU(CPU_Rank r, int f, float v);};
void CPU::run() { cout << 'CPU 开始运行!' << endl;}
void CPU::stop() { cout << 'CPU 停止运行!' << endl;}
void CPU::setCPU(CPU_Rank r, int f, float v) { rank = r; frequency = f; voltage = v;}
**2. 创建 CPU 对象并设置属性:**c++CPU cpu;cpu.setCPU(P4, 2000, 1.8);
**3. 使用构造函数代替 setCPU 函数:**c++class CPU {private: CPU_Rank rank; int frequency; float voltage;
public: CPU(CPU_Rank r, int f, float v); void run(); void stop();};
CPU::CPU(CPU_Rank r, int f, float v) { rank = r; frequency = f; voltage = v;}
CPU cpu(P6, 3000, 1.8);
**4. 重载构造函数:**c++class CPU {private: CPU_Rank rank; int frequency; float voltage;
public: CPU(); CPU(CPU_Rank r, int f, float v); void run(); void stop();};
CPU::CPU() { rank = P6; frequency = 3000; voltage = 220;}
CPU cpu;
**5. 定义析构函数:**c++class CPU {private: CPU_Rank rank; int frequency; float voltage;
public: CPU(); CPU(CPU_Rank r, int f, float v); ~CPU(); void run(); void stop();};
CPU::~CPU() { cout << 'Good bye!' << endl;}
**6. 定义拷贝构造函数:**c++class CPU {private: CPU_Rank rank; int frequency; float voltage;
public: CPU(); CPU(CPU_Rank r, int f, float v); CPU(const CPU& c); ~CPU(); void run(); void stop();};
CPU::CPU(const CPU& c) { rank = c.rank; frequency = c.frequency; voltage = c.voltage;}
**7. 主函数:**c++int main() { CPU cpu1; CPU cpu2(P4, 2000, 1.8); CPU cpu3(cpu2);
cpu1.run(); cpu2.stop(); cpu3.run();
return 0
原文地址: https://www.cveoy.top/t/topic/nbBt 著作权归作者所有。请勿转载和采集!