Singleton class model


/ Published in: C++
Save to your folder(s)

Note: This doesn't work in multi-threaded environments, check http://en.wikipedia.org/wiki/Singleton_pattern#C.2B.2B

Singleton class model
then:
SingletonClass *pSC = SingletonClass::get_singleton_instance();
pSC->any_public_function();
or: SingletonClass::get_singleton_instance()->any_public_function();

at the end of the program don't forget: SingletonClass::destroy();


Copy this code and paste it in your HTML
  1. //.h
  2. class SingletonClass {
  3.  
  4. static SingletonClass *singleton;
  5. SingletonClass();
  6.  
  7. public:
  8. static SingletonClass * get_singleton_instance();
  9. static void destroy();
  10. ~SingletonClass();
  11. };
  12.  
  13.  
  14. //.cpp
  15. SingletonClass *SingletonClass::singleton = NULL;
  16.  
  17. SingletonClass * SingletonClass::get_singleton() {
  18. if( singleton == NULL ) singleton = new SingletonClass();
  19. return singleton;
  20. }
  21.  
  22. void SingletonClass::destroy() {
  23. if( singleton != NULL ) delete singleton;
  24. singleton = NULL;
  25. }
  26.  
  27. SingletonClass::SingletonClass() {
  28. singleton = this;
  29. }
  30.  
  31. SingletonClass::~SingletonClass() {
  32. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.