-
C++ 구조체 멤버를 숨기는 기법 Pimpl프로그래밍/c++ 2013. 3. 28. 09:42반응형1 // 헤더 파일 //
2
3 class Pimpl
4 {
5 public:
6 Pimpl(void);
7 ~Pimpl(void);
8
9 protected:
10 struct Pim; // 맴버변수의 구조체 전방선언
11 Pim* pimpl; // 전방선언한 멤버의 포인터
12 };
13
14 // CPP 파일 //
15 #include <Pimpl.h>
16
17 struct Pim // 구조체 이름은 전방선언과 같은 이름으로!
18 {
19 int a;
20 int b;
21 int c;
22 //...멤버변수들 선언
23 }
24
25 Pimpl::Pimpl( void )
26 {
27 pimpl = new Pim; // 생성자에서 멤버 변수에 할당을 함
28 }
29
30 ...
31
32 ~Pimpl::Pimpl( void )
33 {
34 delete pimple; // 소멸자에서 해제
35 }
36반응형'프로그래밍 > c++' 카테고리의 다른 글
[C++]std::addressof의 존재 이유 (2) 2014.06.29 알아볼 c++11 문법 (0) 2014.05.16 C++11: decltype (0) 2014.05.16 구글 C++ 스타일 가이드 - 이름 짓기 (0) 2014.05.02 [c++11] std::mutex (0) 2014.04.27