「Game」というクラスがあり、プロトタイプ関数「Update」と「Draw」がありますが、定義されていません。それらをオーバーライドするのは、「ゲーム」オブジェクトを継承するオブジェクト次第です。これは可能ですか?
「Game.h」の内容
class Game // does it have to abstract/virtual?
{
public:
//General stuff for all games here
}
void Update(Game *game) = 0; // or make it virtual in someway
「MyGame.h」の内容
#include "Game.h"
class MyGame : public Game
{
public:
// General stuff for my game
}
void Update(MyGame *game);
// 「MyGame.cpp」の内容
#include "MyGame.h"
void Update(MyGame *game) // does it have to be overriden/overloaded?
{
}
// 「GameManager.h」の内容
#include "Game.h"
class GameManager
{
public:
Game *game;
}
void Update(GameManager *manager);
// 「GameManager.cpp」の内容
#include "Game.h"
void Update(GameManager *manager)
{
Update(manager->game);
}
キーは最後のメソッドです: GameManager の Game object = MyGame で Game ではない場合、GameManager は MyGame Update() メソッドを呼び出せないのはなぜですか?