单例模式
控制这个A类型的对象个数,单例模式。系统中只有一个对象。
//实现单例的步骤 //1,构造函数私有化 //2,增加静态私有的当前类的指针变量 //3,提供静态对外接口,可以让用户获得单利对象 class A{ private: static A* a; A(){ a = new A; } public: static A* getInstance(){ return a; } } A* A::a = NULL; //单例分为懒式 class Singleton_lazy{ private: Singleton_lazy(){} static Singleton_lazy* getInstance(){ if(pSingleton == NULL) pSingleton = new Single_lazy; return pSingleton; } }; Singleton_lazy* Singleton_lazy::pSingleton = NULL; //饿汉式 class Singleton_hungry{ private: Singleton_hungry(){ cout << "我是饿汉构造!" << endl; } public: static Singleton_hungry* getInstance(){ return pSingleton; } private: static Singleton_hungry* pSingleton; }; Singleton_hungry* Singleton_hungry::pSingleton = new Singleton_hungry;
转载于:https://www.cnblogs.com/Maurice-code/p/11608826.html