單例設計模式表示我們應該在「單實例」類中定義一個私有靜態屬性。然而,沒有適當的解釋爲什麼數據成員必須是私有靜態的。如果數據成員是私人的,它會有什麼區別嗎?Singleton類中的靜態私有數據成員
在下面的代碼:
class Singleton
{
public:
static Singleton* getInstance();
private:
Singleton(){/*Private constructor*/}
~Singleton(){/*Private destructor*/}
static Singleton * instance; //Why static is required?
};
請問這有什麼區別,如果數據成員instance
不是靜態的?
編輯: 通過公開析構函數,它會改變單身設計的屬性嗎?
這可能是感興趣的爲好; http://stackoverflow.com/q/1008019/3747990 – Niall