ensure a class has only one instance and provide a global point of access
// .h file class Singleton { public: static Singleton instance(); protected:limit access
Singleton(); private: static Singleton* _instance; }; // .c file Singleton* Singleton::_instance = 0; Singleton* Singleton::instance() { if (_instance == 0) _instance = new Singleton(); return _instance; }