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