facade pattern in C++

```
class CPU {
public:
    void freeze() {  }
    void jump(long position) {  }
    void execute() {  }
};
class Memory {
public:
    void load(char* data) {  }
};
class HardDrive {
public:
    char* read(int size) { return 0; }
};

/* Facade */
class ComputerFacade {
private:
    CPU processor;
    Memory ram;
    HardDrive hd;

public:
    ComputerFacade() {
        processor = CPU();
        ram = Memory();
        hd = HardDrive();
    }

    void start() {
        processor.freeze();
        ram.load(hd.read(1000));
        processor.jump(1);
        processor.execute();
    }
};

int main() {
    ComputerFacade computer = ComputerFacade();
    computer.start();
}
```