阅读背景:

C++实现一个类只有一个实例对象

来源:互联网 




class Base
{
public:
	static Base *getInstance()
	{
		if (0==s) //s为0才调用构造函数,实例化一次成功后,s不再为0,除非将其释放掉,才能开始下一次实例化
			s = new Base();
		return s;
	}
private:
	Base() {}
	static Base *s;

};
Base *Base::s = 0; //初始化一次


void main()
{
	Base *s = Base::getInstance();//第一次如果实例化成功,那么s不再为0
	Base *s1 = Base::getInstance();//实例化不成功,因为 s!=0,无法调用构造函数
}








class Base
{
public:
	static Base *get



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: