저는 현재 C++를 사용하여 RPG 게임을 개발 중입니다.지도에서 이벤트를 포함 할 시점에 이르렀습니다.같은 부모의 다른 아이들의 요소에 접근하는 어린이
지도에서 이벤트를 플레이어가 치료할 수 있기를 원했습니다. 이 작업을 수행하는 가장 쉬운 방법은 'this'키워드를 사용하여 게임에서 이벤트 객체에 대한 포인터를 전달하는 것이 었습니다. 내가이 일을 할 때, 현재 다른 클래스를 포함하려고 시도한 클래스를 포함시키려는 결과로 보이는 컴파일러 오류가있었습니다. (끝내주는 루프 겠지?)
예를 들면. 내 '게임'클래스가 있고 'mapManager'클래스에 속한 공용 멤버가 있습니다. 'mapManager'객체는 'event'객체를 멤버로가집니다. 'game'객체에는 'members'객체가 있습니다. 나는 '플레이어'가 가지고있는 '이벤트'객체 변경 변수가 필요합니다. 솔직히 말해서 필요할 때마다 포인터를 던질 수는 있지만 이것은 번거로울 수 있습니다.
부모님의 자식에게 해당 부모의 다른 자식을 쉽게 액세스 할 수있게하거나 포인터가 필요한 모든 자식 클래스에 포인터를 던지기 쉬울 경우 다른 아이들에게.
와우 ... 그건별로 의미가 없지만 누군가가 나에게 좋은 대답을 줄만큼 충분히 이해할 수 있기를 바랍니다. 도움이 될만한 몇 가지 코드가 있습니다.
:game.h
include "player.h" include "event.h"
class game { public: player Player; event Event; };
:player.h
class player { public: game* Game;
};
:event.h
class event { public: game* Game; };
가 갖는 바로이 "게임 유형의 이름이없는"결과와 그래서 나는 event.h과 player.h 게임을 포함하도록 노력하고 같은 오류가 발생했습니다. 내가하고 싶은 일은 내부 이벤트에서 플레이어의 변수 HP에 액세스 할 수 있습니다.
당신은 관찰자 디자인 패턴의 필요에 소리. 특정 문제에 대한 실질적인 도움을 얻으려면 코드 및 오류를 표시해야합니다. – andre
솔직히 너무 복잡하고 복잡하기 때문에 전체 코드를 게시하고 싶지 않습니다. 샘플 코드를 만들었고 동일한 오류가 발생했습니다. 질문을 편집하여 코드를 포함시킵니다. – Kethaias