티스토리 뷰
보통 MFC에서 이제 view에 사용할 소스 파일의 h와 cpp가 있을 때
이제 해당 뷰에서 사용할 컨트롤 및 클래스들을 사용할 때에 include를 cpp 파일에다가 한다.
헤더 파일에 인클루드 했다가는 무진장 꼬여서 애먹는다 -.-;;
차라리 사용할 클래스들을 그때 그때 cpp에 include하는게 편하다.
그렇다면 멤버 변수로 외부 클래스를 선언 할려면 어떻게 해야하는가
class의 헤더에 외부 클래스의 h가 include 되어 있지 않기 때문에 그냥 선언해선 되지 않을 것이다
예를 들어 내가 class CMain에서 사용하고 싶은 클래스가 CExample 이라고 해보자.
//Main.h
class CMain{
public:
CExample m_example;
};
//Main.cpp
#include "Example.h"
...
...
이렇게 하면 당연히 안된다.
그렇다고 헤더 파일에 #include "Example.h" 쓰자니 꼬여버린다.
이럴 땐 이렇게 한다.
//Main.h
class CExample;
class CMain{
public:
CExample* m_pExample;
};
//Main.cpp
#include "Example.h"
...
...
저렇게 헤더 파일에 class 클래스이름을 명시해주면 class의 포인터가 사용 가능하다.
'Development > Windows' 카테고리의 다른 글
[MFC] #define new DEBUG_NEW와 static char THIS_FILE[] = __FILE__; (0) | 2011.02.11 |
---|---|
[MFC] MESSAGE MAP (0) | 2010.12.14 |
[MFC] Error: The Extender Provider failed to return an Extender for this object (0) | 2010.12.08 |
[MFC] 브레이크 포인트가 저절로 해제될 경우 (0) | 2010.12.07 |
[Visual Studio] Navigate Forward/Backward (0) | 2010.12.03 |
[MFC] MFC 클래스간 통신 (0) | 2010.12.03 |
[MFC] Executable For Debug Session (2) | 2010.12.03 |
[MFC] SendMessage와 PostMessage (0) | 2010.11.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Quiz
- Cloud
- source
- winapi
- 음악
- gcc
- 안드로이드
- C
- android
- kering
- AWS
- jni강좌
- API
- it
- 드라이버
- C++
- 리눅스
- database
- db
- jni
- NDK
- 프로그래밍
- linux
- java
- Visual C++
- MFC
- Python
- algorithm
- driver
- Troubleshooting
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함