모두 안녕하세요!
최근 C++ 프로그램에서 헤더 파일을 사용하기 시작했으며, 모든 파일에서 전역 변수를 초기화하는 가장 좋은 방법이 궁금합니다.헤더 파일에 설정된 모든 파일에서 변수를 전역 적으로 사용
나는 init(), render(), loop(), event() ... 등의 프로그램 클래스를 개략적으로 보여주는 헤더 파일을 가지고있다. 이들 각각은 그들 자신의 파일 내에 설정되어있다. init.cpp 등 ..
그래서 모든 파일에서 사용할 수 있도록 변수를 초기화하는 가장 좋은 방법은 무엇입니까? 헤더 파일에서해야합니까? 아니면 그것에 대해 갈 수있는 나쁜 방법입니다.
미리 감사드립니다. 조직 정보와
-Devan
편집, 어떤 코드 블록이 없기 때문에 의견에하고 싶지 않았다. 여기
내 헤더 파일 (CGame.h) 다음class CGame
{
public:
CGame();
int execute();
bool init();
void event();
void loop();
void render();
void cleanUp();
protected:
private:
bool running;
}
그리고 그 각각의 방법을
그런 다음 자신의 .cpp 파일#include "CGame.h"
void CGame::render()
{
}
내에 정의 그들 모두가 내 부름 내 main.cpp
CGame::CGame()
{
running = true;
}
int CGame::execute()
{
if(init() == false)
{
return -1;
}
while(running)
{
loop();
render();
}
cleanUp();
return 0;
}
int main (void)
{
CGame app;
return app.execute();
}
올바른 방법이 아닌가요? 이전 SDL 튜토리얼에서 읽은 것 같습니다.
어쩌면 내가 틀린 글을 읽고있는 것일 수도 있지만, 클래스의 각 메소드를 별도의 파일에 정의하는 것처럼 들리 겠지만, 이는 갈 길이 아닙니다. 프로젝트 구성 방법에 대한 자세한 개요를 게시 할 수 있습니까? – suszterpatt
@suszterpatt 개요를 사용하여 게시물을 편집했습니다. 그래, 내가하려고했던 방식대로 네가 옳았 어. –
자체의 cpp 파일에 각 메소드를 정의하는 것을 금지하지 않습니다. 때로는 클래스를 여러 파일로 분할하는 것 (예 : 클래스 정의의 일부가 GUI 빌더에 의해 자동으로 생성되는 경우)도 유용합니다. 그러나 일반적으로 매우 드문 경우입니다. – Oswald