Singleton的构造:
首先定义一个private 的static自身的对象,然后重载拷贝构造函数,定义一个新的构造函数,并使得构造函数都为private。
这样的话,外部就不能调用构造函数了。
class Egg{
static Egg e;
int i;
Egg(int ii): i(ii){}
Egg(const Egg&);
public:
static Egg* instance(){return &e;}
int val() const{return i;}
};Egg Egg::e(47);in main()
{
Egg x(1);//产生错误。
Egg::instance()->val();//正确。
}
本文详细阐述了Singleton模式的构造方法,包括private的static自身对象、重载拷贝构造函数及私有构造函数,解释了如何实现Singleton模式并提供了一个实例演示其正确使用方式。
1535

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



