例如一个具有三个类 Player、Bot 和 Game 的小电脑游戏
Player 有一个方法来检查 Player 是否与机器人发生碰撞
// Player.h
#include Game.h
#include Bot.h
class Player {
private:
bool collision(Game g) {
for (Bot bot: g.bots)
...
}
};
Bot.h(保持简单,因为它有一些其他属性,如实际位置等)
// Bot.h
class Bot {
public:
Bot()
};
Gameclass 处理 Gameloop 和 Bot 列表
//Game.h
#include Bot.h
#include Player.h
class Game {
public:
Player player:
std::vector<Bot> bots
void loop() { player.collision() }
};
所以这里我们遇到了 Game.h 包含 Player.h 的问题,反之亦然。
我该如何解决这个问题?