是否可以創建一個只能構建一次的類?如果您嘗試創建其他實例,則會發生編譯時錯誤。單類實例C++
Q
單類實例C++
2
A
回答
0
爲什麼編譯錯誤?我想,你只需要實現Singleton設計模式。 看here
0
的類只有一個實例被稱爲單類新,
有許多方法來執行。最簡單的顯示如下
class MySingleton
{
public:
static MySingleton& Instance()
{
static MySingleton singleton;
return singleton;
}
// Other non-static member functions
private:
MySingleton() {}; // Private constructor
MySingleton(const MySingleton&); // Prevent copy-construction
MySingleton& operator=(const MySingleton&); // Prevent assignment
};
4
實例在運行時是動態的。編譯錯誤在編譯時。所以答案是否定的,不可能在任何第二個實例化上得到編譯錯誤。
但是,您可以使用單身人士,但要非常仔細地考慮是否真的需要。
相關問題
- 1. 實例化單例類
- 2. C++實例化類
- 3. 實例類 - >靜態類 - > C#中的實例類
- 4. C++嵌套類實例
- 5. C++不好的類實例
- 6. C++類實例化理論
- 7. C#類實例聲明
- 8. 在Objective C中創建單例類的另一個實例
- 9. 單個實例/基類
- 10. 爲Actionscript實現單例類
- 11. Java類的單個實例
- 12. 顯式實例化C++類模板實例化相關基類?
- 13. C++/CLI中的單例實例?
- 14. WebApplication有2個單例類的實例
- 15. MDI單實例C#..如何實現?
- 16. C++單例模板類
- 17. C++:從基類實例構造子類?
- 18. C#調用C++單例類基於DLL
- 19. Google模擬一個單例類C++類
- 20. 爲什麼這個單例實現使用私有類(C++)?
- 21. C++參數包,受限於具有單一類型的實例?
- 22. 從C#創建IronPython類的實例
- 23. 在C++中實例化派生類型
- 24. C# - 實際例子 - 抽象類
- 25. 從C#到JavaScript - 使用類實例
- 26. Objective-C類實例在alloc處歸零?
- 27. c#實例化字符串中的類
- 28. C++中的相互類實例
- 29. C++類的實例化問題
- 30. C中的類實例通信#
你在找什麼叫做單身。 http://en.wikipedia.org/wiki/Singleton_pattern我必須敦促你,但要非常認真地考慮一個單例對你的應用是否真的有意義。單身人士使用時間的99%,不應該是這樣。 – Corbin 2012-04-28 08:33:22
但是,單例只會爲所有創建查詢返回相同的實例。可能這接收異常更有用。 – 2012-04-28 08:34:01
AFAIK沒有選擇讓這樣的類有編譯時錯誤。但是有一種叫做'Singleton'的流行模式,用於製造這種阻止實例化的類。你可以很容易地谷歌的例子。 – Yarg 2012-04-28 08:35:57