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;
}
1、声明一个简单的Computer类有数据成员芯片cpu、内存ram、光驱cdrom等有两个公有成员函数run和stop。cpu为CPU类的一个对象ram为RAM类的一个对象cdrom为CDROM类的一个对象声明并实现这个类。提示:CPU类为项目一中所定义的。RAM类与CDROM类仿照CPU类进行设计。2、要求采用多文件组织资料参见教材48小节。类的接口定义存在头文件中、类的实现存储在cpp文件中

原文地址: https://www.cveoy.top/t/topic/b4EL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录