class Singleton{ public: static Singleton *getInstance() { if(m_instance == NULL) { m_instance = new Singleton; } return m_instance; } void show() { std::cout << "This is show" << std::endl; } private: Singleton(){}; Singleton(const Singleton&){}; Singleton & operator=(const Singleton&){}; static Singleton *m_instance; }; Singleton *Singleton::m_instance = 0; int main(int argc, char* argv[]) { Singleton::getInstance()->show(); return 0; }
开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»
class Singleton
{
public:
Singleton()
{
}
virtual ~Singleton()
{
}
inline static T* Instance()
{
return &s_instance;
}
private:
static T s_instance;
};
template <class T>
T Singleton<T>::s_instance;