私はOpenGLとDirectXを使用しており、オブジェクト指向ゲームクラスの基本の開発を開始しました。現在のクラスの構造は次のとおりです。
オブジェクト
---|---アクター
---------|---ポーン
---------|---コントローラー
だから私は継承するPawn
と継承するController
クラスを持っています。Actor
Object
問題は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
[さらに情報が必要な場合は提供します]