【发布时间】:2015-01-21 04:01:03
【问题描述】:
我正在编写一个纸牌游戏程序。我已经用自己的文件(头文件和实现文件)编写了 gofish,现在我希望能够从纸牌游戏类中访问 gofish。
Go fish 继承自纸牌游戏类,因为它包含玩家列表和纸牌等内容。此外,纸牌游戏标头定义了纸牌结构。
所以我在我的 go fish 文件中#include 纸牌游戏文件。但现在我想做的只是在我的驱动程序中#include 纸牌游戏文件并从中访问 go fish(我稍后会添加扑克)。
问题是我不能在纸牌游戏类中#include go fish 文件,因为这会导致无限包含错误。
这里有一些示例代码来获取要点:
//card_games.h
class card_game{...};
//gofish.h
#include "card_games.h"
class gofish : public card_game{...};
这就是我想做的:
//main.cpp
#include "card_games.h"
//main function
{
card_game *game;
game = new gofish;
}
但总的来说,它不将 gofish 识别为一个类。 那我该怎么办呢?
【问题讨论】:
-
通过抽象来实现——抽象类或虚函数。基类不应该直接了解派生自它的类。这是一个非常耦合的实现,只会让自己呕吐。
-
这是有道理的。谢谢。
标签: c++ include dependencies