您的位置:首页 > 编程语言 > C语言/C++

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

2015-10-08 20:37 411 查看
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,无法调用构造函数
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: