单例设计模式的单例类主要用于配置文件读写, 整个项目用一个对象就够了。
创建单例类 class MyClass { private: MyClass(){}; //构造函数私有化 private: static MyClass* m_instance; public: static MyClass* GetInstance() { if(m_instance == NULL) { m_instance = new MyClass(); static Del cl; //当程序结束时,cl对象会被删除 } return m_instance; } /*类中套类,用于在程序退出前删除对象*/ class Del { public: ~Del() { if(MyClass::m_instance) { delete MyClass::m_instance; MyClass::m_instance = NULL; } } }; }; /*成员变量初始化*/ MyClass* MyClass::m_instance = NULL; 主函数 #include <iostream> int main() { MyClass* instance = MyClass::GetInstance(); MyClass* instance2 = MyClass::GetInstance(); /*instance和instance2的地址一样,指向同一个对象*/ std::cout << instance << std::endl; std::cout << instance2 << std::endl; return 0; }