![](https://i-blog.csdnimg.cn/blog_migrate/b084e7d3bebdf45fd46d139b9d8a0f38.png)
#include <iostream>
using namespace std;
//子系统类
class CPU {
public:
void Start() {
cout << "CPU start" << endl;
}
void Stop() {
cout << "CPU stop" << endl;
}
};
class Memory {
public:
void Start() {
cout << "Memory start" << endl;
}
void Stop() {
cout << "Memory stop" << endl;
}
};
class Disk {
public:
void Start() {
cout << "Disk start" << endl;
}
void Stop() {
cout << "Disk stop" << endl;
}
};
class Keyboard {
public:
void Start() {
cout << "Keyboard start" << endl;
}
void Stop() {
cout << "Keyboard stop" << endl;
}
};
class Mouse {
public:
void Start() {
cout << "Mouse start" << endl;
}
void Stop() {
cout << "Mouse stop" << endl;
}
};
//门面类
class Computer {
public:
Computer() {
cpu = new CPU();
memory = new Memory();
disk = new Disk();
keyboard = new Keyboard();
mouse = new Mouse();
}
~Computer() {
delete cpu;
delete memory;
delete disk;
delete keyboard;
delete mouse;
}
//启动电脑
void Start() {
cpu->Start();
memory->Start();
disk->Start();
keyboard->Start();
mouse->Start();
cout << "Computer start" << endl;
}
//关闭电脑
void Stop() {
cpu->Stop();
memory->Stop();
disk->Stop();
keyboard->Stop();
mouse->Stop();
cout << "Computer stop" << endl;
}
private:
CPU* cpu; //子系统对象
Memory* memory;
Disk* disk;
Keyboard* keyboard;
Mouse* mouse;
};
int main() {
Computer* computer = new Computer(); //创建门面对象
computer->Start(); //启动电脑
computer->Stop(); //关闭电脑
![](https://i-blog.csdnimg.cn/blog_migrate/2ad0122f6a826277290664a8dbf1da05.png)