设计一个只能生成该类的一个实例:
方法1(利用count计数):
Class Singleton
{
Public:
~Singleton(){count=1;}
Singleton()
If(count==0){Exception();}
Count--;
}
Private:
Static int count;
};
Int Singleton::Count=1; //类中静态变量初始化
方法2(定义静态实例):
Class Singleton
{
Private:
Singleton(){}
Static Singleton Instance=null;
Public:
Singleton& CreateInstance()
{
If(Instance==NULL)
Instance=new Singleton();
Return SingleTon;
}
};
这个方法是基于,私有成员函数,只能被类内的函数调用。当然构造函数也不例外。