헤더파일와 소스파일 구분시 질문입니다

jee9894의 이미지

블로그 예제들을 너무 간단하게 만들어놔서 헷갈리는 부분이 있네요
긴 소스코드를 소스파일과 헤더파일로 구분시에
원래 .cpp 파일에 들어가던 #include 된 헤더파일들은 도대체 어디 넣어야 하는거죠?
.cpp 파일에도 넣어야 하고 .h에도 넣어야 하는지
.cpp 에만 넣으니까 헤더파일에서 오류가 계속 나네요
.h파일에서 string 선언이 안되어있다고 뜹니다 계속
도와주십시오

세벌의 이미지

에러난 파일들을 첨부해서 물어보셔요.

익명 사용자의 이미지

Effective C++의 항목 31: "파일 사이의 컴파일 의존성을 최대로 줄이자"를 참고하시기 바랍니다.

만약 이 책을 아직 읽어본 적이 없다면, 전부 읽는 것도 좋지요.

그건 그렇고, 말씀하신 string이 만약 C++ 표준 라이브러리의 string이라면, 이건 별 수 없이 #include <string> 하는 수밖에 없습니다.