#include <iostream> #include <new> using namespace std; class CGlobalInstance { private: CGlobalInstance(); virtual ~CGlobalInstance(); static CGlobalInstance* m_this; public: static CGlobalInstance* get_instance(); void out(); }; CGlobalInstance::CGlobalInstance() { } CGlobalInstance::~CGlobalInstance() { } void CGlobalInstance::out() { cout<<"hi man"<<endl; } CGlobalInstance* CGlobalInstance::get_instance() { if (NULL == m_this) { m_this = new CGlobalInstance(); } return m_this; } CGlobalInstance* CGlobalInstance::m_this = NULL; int main(void) { CGlobalInstance::get_instance()->out(); }