【发布时间】:2011-05-21 18:37:36
【问题描述】:
我有两个类:抽象的“Game”类和派生的“TestGame”类。 TestGame 中的所有功能都是单独实现的(为了让它编译)。我只收到一个错误:
TestGame.obj:错误 LNK2019: 未解析的外部符号“公共: 虚拟 __thiscall Game::~Game(void)" (??1Game@@UAE@XZ) 中引用 功能“公共:虚拟__thiscall TestGame::~TestGame(void)" (??1TestGame@@UAE@XZ)
这是我的类定义:
class Game
{
public:
virtual ~Game(void) = 0;
virtual bool Initialize() = 0;
virtual bool LoadContent() = 0;
virtual void Update() = 0;
virtual void Draw() = 0;
};
class TestGame: public Game
{
public:
TestGame(void);
virtual ~TestGame(void);
virtual bool Initialize();
virtual bool LoadContent();
virtual void Update();
virtual void Draw();
};
我已经尝试了几件事,但我觉得我可能遗漏了一些关于抽象类和派生类如何工作的基本知识。
【问题讨论】:
-
请注意,派生类中的
virtual关键字对于标准而言是可选的。也许他们是助记符,没关系。
标签: c++ lnk2019 virtual-destructor