設計模式是編程的重點,往往在面試時都會考查,而單例模式是最為簡單、最為常見、也最該掌握的模式。所以面試時對設計模式的考查考的最多的就是單例模式。
下面我們就來看看單例模式如何實現(C++代碼):
#includeusing namespace std; class Singleton { public: static Singleton* Instance(); protected: Singleton(); private: static Singleton* _instance; }; Singleton* Singleton::_instance=0; Singleton::Singleton() { cout<<"Singleton..."< 其中,Singleton類型的構造函數必須是protected的,保證該類型不可被實例化,靜態成員函數Instance則用來實例化該類型,因為該函數是靜態,所以每次調用都是同一個實例,這就保證了Singleton類型只能被實例化一次。