設計乙個類,只能生成該類的乙個例項

2021-07-25 20:32:58 字數 673 閱讀 1268

只能生成乙個例項的類是實現了singleton(單例)模式的型別。

解題思路:根據題目的要求,1.必須把建構函式設為私有函式,防止他人建立例項。

2.在類中建立靜態私有的例項,在需要時建立該例項,直到程式結束才銷毀。

3.提供乙個靜態的公有的函式用於建立/獲取靜態私有物件。

在系統的日誌輸出,gui應用必須是單滑鼠,modem的聯接需要一條且只需要一條**線,作業系統只能有乙個視窗管理器,一台pc連乙個鍵盤,需要用到單例模式。

//單執行緒

class singleton

//因為我們一般在生成物件的時候,都有class c = new class();這樣的語法,但是如果我們使用了

//private來修飾這個構造器,那麼就不會產生這種問題了。

static singleton* instance; //要在類外進行初始化

singleton(const singleton&);

singleton& operator=(const singleton&);

public:

static singleton* getinstance()

};singleton* singleton::instance =null;

多執行緒的,我會在後序部落格中介紹。

Java中的單例類(該類始終只能建立乙個例項)

在某些情況下,要求不允許自由建立該類的物件,而只允許該類建立乙個物件,為避免其他類自由建立給該類的例項,應該把該類的構造器用private修飾,從而把該類的構造器隱藏起來。另外提供public方法作為該類的訪問點,用於建立該類的物件,且該方法只能是static修飾 因為呼叫該方法之前還不存在物件,因...

只能生成乙個例項的類

這次遇到的是乙個c 問題,本著迎難而上精神雖然c 不熟但是盤它就行了。問題如下 用linux編譯c 需要先搭建環境,那就先搭建乙個吧。搭建環境有好多坑,根據以下內容可以完成並且解決各種問題 還有就是4版本以上的,只能用mcs命令編譯 搭建好之後可以開始寫 了,對c 不太熟悉先了解一些基礎概念 1 s...

題目 寫乙個只能構造乙個物件的類

題目 寫乙個只能構造乙個物件的類 整理 cmdhack 2010年1 月24日19 47 49 分析 建構函式分為有參構造 無參構造 拷貝構造 三種方法 物件又分為棧中構造物件和堆中構造物件 首先來按照普通的做法寫乙個類如下 很顯然如果單單這樣可以構造無數個物件 那我設想一下如果在建構函式中做乙個 ...