我正在使用 OpenGL 和 DirectX,并且我已经开始开发面向对象游戏类的基础知识。当前类的结构如下:
对象
---|---Actor
---------|---Pawn
---------|---Controller
所以我有继承哪个继承的Pawn
和Controller
类。Actor
Object
问题是我需要在 pawn 类中有一个引用,在控制器类中有Controller
一个实例。
因此,我提前声明并在:Pawn
Pawn
Controller
Actor.h
// Actor.h
// (...) Actor Declaration (...)
class Pawn;
class Controller;
然后在Pawn.h
:
// Pawn.h
class Pawn : public Actor
{
private:
Controller* controller;
public:
void DoSomethingWithController(void);
}
这一切都很好,没有错误。问题是当我想访问该类中的成员时:
void Pawn::DoSomethingWithController(void)
{
// this->controller-> can't access members like this (members not found)
}
那么,我应该怎么做才能在 Pawn 中有一个 Controller 的指针,在我的 Controller 中有一个指向 Pawn 的指针,将它们保存在不同的文件(.h 和 .cpp)中,同时能够访问它的成员?
感谢您的时间。:D
[如果需要更多信息,我会提供]