程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++實現單例模式

C++實現單例模式

編輯:C++入門知識

單例模式:Singleton
單例模式確保某一個類只有一個實例,而且自行實例化並向整個系統提供這個實例單例模式。單例模式只應在有真正的“單一實例”的需求時才可使用。

我實現了一個簡單的單例類,歡迎吐槽。
#include<iostream>
using namespace std;

class Singleton
{
public:
    static Singleton * GetInstance()//通過靜態公有函數獲得該類的實例對象
    {
        if(m_pInstance==NULL)
        m_pInstance=new Singleton();
        return m_pInstance;
    }

private:
    Singleton(){}//構造函數私有化的目的是為了防止從別處實例化該類對象
    static Singleton * m_pInstance;
    class Garbo//刪除Singleton實例的對象
    {
    public:
        ~Garbo()
        {
            if(Singleton::m_pInstance)
            {
                delete Singleton::m_pInstance;
            }
        } www.2cto.com
    };
    static Garbo gb;//在程序結束時,系統會調用它的析構函數
};
Singleton * Singleton::m_pInstance=NULL;//初始化靜態數據成員

int main()
{
    Singleton *sl=Singleton::GetInstance();
    return 0;
}

摘自 C小加
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved