1
자식 클래스의 부모 메서드에서 가상 메서드를 재정의하려고하는데 오류가 발생합니다. "추상 개체를 할당 할 수 없습니다. 유형". 이것은 나의 부모 클래스 :부모 클래스에서 가상 메서드를 재정의 할 수 없습니다. "추상 형식의 개체를 할당 할 수 없습니다."
class GameState
{
public:
virtual ~GameState(){};
virtual void captar_eventos(Tile *tiles[], Objeto * objs, Tipo * tipos, bool * quit) = 0;
virtual void logic(Tile *tiles[], Objeto * objs, Tipo * tipos, bool * quit) = 0;
virtual void render(Tile *tiles[], Objeto *objs, Tipo *tipos, float interpolacion) = 0;
void message(char *);
};
그리고 이것은 내 아이 클래스입니다 :
currentState = new Menu();
내가 얻을 오류 :
class Menu : public GameState
{
private:
public:
Menu();
~Menu();
void captar_eventos(Objeto * objs, Tipo * tipos, bool * quit);
void logic(Objeto * objs, Tipo * tipos, bool * quit);
void render(Objeto *objs, Tipo *tipos, float interpolacion);
};
Menu::Menu()
{
}
Menu::~Menu()
{
}
void Menu::captar_eventos(Objeto * objs, Tipo * tipos, bool * quit){
}
void Menu::logic(Objeto * objs, Tipo * tipos, bool * quit){
}
void Menu::render(Objeto *objs, Tipo *tipos, float interpolacion){
}
나는 새로운 변수 클래스 메뉴를 만들려고
cannot allocate an object of abstract type 'Menu'
because the following virtual functions are pure within 'Menu'
virtual void GameState::captar_eventos(Tile**, Objeto*, Tipo*, bool*)
virtual void GameState::logic(Tile**, Objeto*, Tipo*, bool*)
virtual void GameState::render(Tile**, Objeto*, Tipo*, float)
왜 그것이 추상적이라고 말합니까? 메뉴? 내가 도대체 뭘 잘못하고있는 겁니까?