因此,对于我的下一个游戏,我正在创建类以改善我的游戏架构我有一个名为GameState的抽象类,所有GameStates(菜单,窗口,屏幕,游戏本身)必须继承它才能添加到游戏中但我的BlankState是是对我的GameState设计的测试让我遇到了编译器的麻烦,因为它出于某种原因被认为是一个抽象类,任何人都可以告诉我为什么?我觉得我错过了一些非常明显的东西.
这是GameState.h的内容
#ifndef GUARD_GAMESTATE_H
#define GUARD_GAMESTATE_H
#include<SDL.h>
class Game;
class GameState {
protected:
Game *m_pGame;
public:
GameState( Game& );
virtual void load() = 0;
virtual void handle_events( SDL_Event& events ) = 0;
virtual void logic() = 0;
virtual void draw() = 0;
virtual void unload() = 0;
virtual ~GameState() = 0;
};
class BlankState : public GameState {
private:
SDL_Surface *background;
public:
BlankState(Game& game);
void load();
void handle_events();
void logic();
void draw();
void unload();
~BlankState();
};
#endif
Run Code Online (Sandbox Code Playgroud)
这里是GameState.cpp,我实现了GameState构造函数和BlankStates继承的方法
#include"GameState.h"
#include"Game.h" …Run Code Online (Sandbox Code Playgroud)