C++ 多文件组织实现Computer类:组装机和品牌机
C++ 多文件组织实现Computer类:组装机和品牌机
本示例展示了如何使用多文件组织结构在C++中实现一个名为Computer的类。Computer类模拟计算机,具有芯片(CPU)、内存(RAM)、光驱(CDROM)等数据成员,并提供run和stop函数。示例包含组装机和品牌机两种构造函数,分别使用已有组件和参数配置的方式进行初始化。
文件结构
本示例代码采用多文件组织结构,包含以下文件:
- Computer.h: 包含Computer类的接口定义
- Computer.cpp: 包含Computer类的实现
- main.cpp: 包含主函数,用于测试Computer类
代码示例
Computer.h
#ifndef COMPUTER_H
#define COMPUTER_H
#include "CPU.h"
#include "RAM.h"
#include "CDROM.h"
class Computer {
public:
Computer(CPU& cpu, RAM& ram, CDROM& cdrom); // 组装机
Computer(int ramSize, double cpuFreq, const std::string& cdromBrand); // 品牌机
void run();
void stop();
private:
CPU m_cpu;
RAM m_ram;
CDROM m_cdrom;
};
#endif // COMPUTER_H
Computer.cpp
#include "Computer.h"
Computer::Computer(CPU& cpu, RAM& ram, CDROM& cdrom) : m_cpu(cpu), m_ram(ram), m_cdrom(cdrom) {}
Computer::Computer(int ramSize, double cpuFreq, const std::string& cdromBrand) :
m_cpu(CPU(cpuFreq)), m_ram(RAM(ramSize)), m_cdrom(CDROM(cdromBrand)) {}
void Computer::run() {
m_cpu.run();
m_ram.run();
m_cdrom.run();
std::cout << 'Computer is running.' << std::endl;
}
void Computer::stop() {
m_cpu.stop();
m_ram.stop();
m_cdrom.stop();
std::cout << 'Computer has stopped.' << std::endl;
}
main.cpp
#include <iostream>
#include "Computer.h"
int main() {
// 组装机
CPU cpu(2.5);
RAM ram(8);
CDROM cdrom('Lenovo');
Computer myComputer(cpu, ram, cdrom);
myComputer.run();
myComputer.stop();
// 品牌机
Computer yourComputer(16, 3.0, 'ASUS');
yourComputer.run();
yourComputer.stop();
return 0;
}
总结
本示例演示了如何使用多文件组织结构实现一个简单的Computer类,并提供了组装机和品牌机两种构造函数。希望本示例能帮助您理解多文件组织结构和类的设计原则。
注意:
- 本示例假设您已经了解C++的基本语法和面向对象编程的概念。
- 本示例中的CPU、RAM和CDROM类需要您根据实际情况进行设计和实现。
- 本示例只是演示如何使用多文件组织结构实现类,您可以根据实际需求进行修改和扩展。
原文地址: https://www.cveoy.top/t/topic/nn2i 著作权归作者所有。请勿转载和采集!