1
그래서 C++의 명령 패턴을 배우려고하고 있으며 명령을 바인딩하는 방법이 확실하지 않습니다. 현재 코드에 입력 핸들러와 명령이 있지만이 코드를 바인딩하는 방법을 모르겠습니다. 난 계속 "오류 : '명령'은 'UpCommand'의 접근 할 수없는 기지"입니다.C++의 명령 패턴
InputHandler.h
#ifndef INPUTHANDLER_H_INCLUDED
#define INPUTHANDLER_H_INCLUDED
#include "Command.h"
class InputHandler
{
public:
void handleInput();
//Bind Buttons Here
private:
Command* buttonW;
Command* buttonA;
Command* buttonS;
Command* buttonD;
};
#endif // INPUTHANDLER_H_INCLUDED
그리고 여기가
Command.h
#ifndef COMMAND_H_INCLUDED
#define COMMAND_H_INCLUDED
#include <iostream>
class Command
{
public:
virtual ~Command() {}
virtual void execute() = 0;
};
class UpCommand : Command
{
virtual void execute() {std::cout << "UP";}
};
class DownCommand : Command
{
virtual void execute() {std::cout << "DOWN";}
};
class LeftCommand : Command
{
virtual void execute() {std::cout << "LEFT";}
};
class RightCommand : Command
{
virtual void execute() {std::cout << "RIGHT";}
};
#endif // COMMAND_H_INCLUDED
내 Command.h이다 나는에 InputHandler 내 포인터를 바인딩하는 방법을 알아낼 수 없습니다 방향에 대한 하위 명령. 아무도 그것이 어떻게 완료되었는지 설명 할 수 있습니까?