티스토리 뷰

C C++/C++

[C++] SingleTon Pattern

개발하는꼬물이 2018. 2. 17. 16:42

** SingleTon Pattern

   프로그램 상에서 단 하나의 객체만이 존재해야 할 때 사용하는 것이 일반적이며, 다음과 같이 사용


----- SingleTon.h -----

private:
	Singleton() {} // 생성자는 반드시 private, protected에!
	static Singleton* inst; // 어디서든 싱글톤 객체에 접근할 수 있게 하기위해 static 으로 선언

public:
	static Singleton* Instance();
	void ShowMessage();
}
----- SingleTon.cpp -----

Singleton* Singleton::Instance()
{
	if(!inst)  // 인스턴스가 존재하지 않으면 생성자를 통해 싱글톤 객체 생성 , 존재하면 그냥 반환하도록 함
	     inst = new Singleton();

	return inst;
}

void Singleton::ShowMessage()
{
	cout << "Test" << endl;
}
----- main.cpp -----

int main()
{
	Singleton::Instance()->ShowMessage(); // 이와 같은 형태로도 사용 가능

	return 0;
}


'C C++ > C++' 카테고리의 다른 글

[C++] 비트 구조체  (0) 2018.05.18
[C++] 난수 생성 - rand(), srand()  (0) 2018.05.04
Linux 환경에서의 pthread  (0) 2018.02.17
[C++] this  (0) 2018.02.17
[C++] \n과 \r의 차이  (0) 2017.12.06
댓글