c++实现单例设计模式

c++单例设计模式


单例模式:

​ 一个类只有一个实例化对象.

45 单例模式案例 - 主席案例__哔哩哔哩_bilibili

  1. 懒汉式

    #include<iostream>
    using namespace std;
    class A{
      public:
        //得到唯一的a
        static A* GetObject(){
            if(a==NULL){
                a=new A;
            }
            return a;
        }
      private:
        A(){}//将构造函数私有化,防止new
        static A* a;
        
    };
    A* A::a=NULL;//类内声明,类外初始化
    int main(){
        A* a1=A::GetObject();
    }
    

    2.饿汉式式

    #include<iostream>
    using namespace std;
    class A{
        public:
        static A* GetObject(){
            return a;
        }
        private:
        A(){}
        static A* a;
    }
    A* A::a=new A;
    
posted @ 2022-05-18 09:06  程序员包子  阅读(38)  评论(0编辑  收藏  举报