當前位置: 首頁>>編程語言>>正文


單件模式的c++實現

摘要:本文簡要介紹了c++中使用靜態變量實現單件模式的方法

關鍵字:單件模式,單例模式,singleton,靜態變量

如果在程序的整個生命周期中,需要且隻需要維護類的一個實例,應用單件模式(也叫單例模式)

比較合適!在C++中,有一種實現單件模式的比較優雅的方式,那就是在函數中使用靜態變量。其基本思

想為將類的構造函數設為私有,然後定義一個靜態的方法獲取類的實例,這個靜態方法中使用靜態變量

定義類,所以不管調用這個方法多少次,類隻實例化一次!

依據以上思想的c++單件模式實現如下:


/*
 * C++單件模式的實現
 */

#include 

using namespace std;

class Singleton
{
    public:

        static Singleton& getInstance()
        {
            static Singleton dp;
            return dp;
        }

        void message()
        {
            cout << "Singleton Message" << endl;
        }
    private:
        Singleton()
        {
            cout << "construct Singleton!" << endl;
        }
};

int main(int argc, char* *argv)
{
    Singleton::getInstance().message();
    Singleton::getInstance().message();
    Singleton::getInstance().message();
    system("pause");
    return 0;
}

singleton

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/155.html,未經允許,請勿轉載。