我们所学的单例模式都是将所有的构造函数,拷贝构造函数等等定义成private的。然后用static来限制,用public的成员函数来调用构造函数。而我这里想到的是在我们以前所学c++的基础上,在构造函数里面加入限制,当已经存在一个对象时,如果继续调用构造函数来创建对象就直接把自己给杀死(delete)掉,使其最多只能存在一个对象,就实现了c++设计模式中的单例模式。代码如下,不知道我这里的实现是否有可取之处,请各位大佬指点一二。
private:
6 int count = 0;
7 public :
8 Window(){
9 count++;
10 if(count==1){
11 delete this;
12 }
13 }
14 ~Window(){
15 count--;
16 }