小编Sbo*_*bot的帖子

为什么我的子类被认为是抽象类?

因此,对于我的下一个游戏,我正在创建类以改善我的游戏架构我有一个名为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)

c++ inheritance sdl class abstract

1
推荐指数
1
解决办法
75
查看次数

标签 统计

abstract ×1

c++ ×1

class ×1

inheritance ×1

sdl ×1