다음과 같은 폼으로 헤더파일을 만들어 주면, #ifndef 전처리 문으로 인해
2번째 선언시에 _CLASS_ 상수가 정의 되어 있어서 중복선언을 막아준다.
전방선언 하고 헤더를 소스파일 cpp에 넣어서 교차포함을 피하는 방법도
있기는 하지만,이것저것 오류가 나는 경우가 굉장히 많았다.
이 방법이 그냥 단순무식 하면서도 편하게 코딩 할 수 있는 방법인듯 하다.
// class 헤더의 선언 // "class.h"
#ifndef _CLASS_
#define _CLASS_ #include "포함할 헤더파일" [클래스 및 함수 선언]
#endif |
// class 소스파일 // "class.cpp"
#include "stdafx.h" #include "class.h"
[클래스 및 함수 정의] |
미리 컴파일 된 헤더파일을 사용하면 헤더에 헤더를 포함해 주지 않아도
stdafx.h에 선언된 클래스를 class.h에서 사용 할 수 있다.
단, 소스파일에서 stdafx.h를 반드시 추가시켜 줘야 미리 컴파일 된 헤더를 사용할 수 있다.
참고로 stdafx.h 이전에 포함 된 헤더파일은 모두 무시 되니, 이 점을 꼭 고려해야 한다.
'프로그래밍 > 잡다한 트러블 슈팅' 카테고리의 다른 글
~에 대한 호출결과 스택이 불안정하게 되었습니다. 관리되는... (2) | 2015.01.15 |
---|---|
beginning databse with postgresql의 소스코드는 어디에?? (0) | 2014.12.12 |
cmd 콘솔에서 FTP에서 접속은 되는데 다른명령어에서 "425 Can't open data connection" 에러발생 (4) | 2014.12.04 |
서비스가 파일을 생성하지 못한다 (0) | 2014.11.27 |