싱글톤 사용하기
2015. 4. 21. 07:21ㆍ프로그래밍/Design Patterns
728x90
728x90
싱글톤 템플릿 버전
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 | #pragma once //< 복사 생성자 금지 매크로 #define COPYPREVENT(T)\ T(const T& R); \ T& operator = (const T& R); //< 싱글톤 매크로 #define SINGLETON(T)\ COPYPREVENT(T)\ friend MH_Singleton<T> template <typename T> class MH_Singleton { private: MH_Singleton(void) { } virtual ~MH_Singleton(void) { } //< 복사생성자 MH_Singleton(const MH_Singleton& rhw); //< 대입 연산자 MH_Singleton& operator = (const MH_Singleton& rhw); public: //< 객체 생성 static T* getInstance(void) { static T inst; return &inst; } }; | cs |
싱글톤 사용할 객체에서 싱글톤 선언
1 | SINGLETON(CollisionMgr); | cs |
private 영역에 선언해준다.
메인에서 사용하기
매크로 사용하기
만들어 놓은 싱글톤 매크로로 선언.
여기서 ;를 안 붙이는걸 유의.. 이거 때문에 식겁
1 | #define COLLISIONMGR MH_Singleton<CollisionMgr>::getInstance() | cs |
메인에서 사용
1 | COLLISIONMGR->isCollisionPointAndRect(rect1, p1); | cs |
728x90
반응형
'프로그래밍 > Design Patterns' 카테고리의 다른 글
[Design Pattern] 싱글톤 (2) | 2016.02.15 |
---|---|
[Design Pattern] 팩토리 패턴 (2) | 2016.01.30 |
디자인 패턴 연관도 (1) | 2015.07.08 |
중재자 패턴 (2) | 2015.05.04 |
[Design Pattern] 옵저버 패턴 개요 (0) | 2015.04.18 |
디자인 패턴, 싱글톤, 상태패턴 (2) | 2015.04.15 |