locked
c++设计模式之单例模式可以以其他方式实现吗? RRS feed

  • 常规讨论

  •  我们所学的单例模式都是将所有的构造函数,拷贝构造函数等等定义成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         }

    2020年7月30日 9:58

全部回复