设计一个只能生成该类的一个实例:
方法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;
}
};
这个方法是基于,私有成员函数,只能被类内的函数调用。当然构造函数也不例外。
本文介绍了两种实现单例模式的方法:一是使用计数器确保仅创建一个实例;二是定义静态实例,通过私有构造函数限制外部实例化,提供公共方法供外部获取唯一实例。
1577

被折叠的 条评论
为什么被折叠?



