Page History
...
Singleton
InputParameters.h :
Code Block |
---|
#include <iostream> // for cout class InputParameters { public: static InputParameters* Instanceinstance(); void print(); private: InputParameters () ; // !!!!! Private so that it can not be called from outside virtual ~InputParameters () {}; static InputParameters* m_pInstance; // !!!!! Singleton instance // Copy constructor and assignment are disabled by default InputParameters ( const InputParameters& ) ; InputParameters& operator = ( const InputParameters& ) ; }; |
InputParameters.cc :
Code Block |
---|
#include "<Package>/InputParameters.h" InputParameters* InputParameters::m_pInstance = NULL; // !!!!!! make global pointer !!!!! //---------------- InputParameters::InputParameters () { std::cout << "!!!!!!!! Single instance for singleton class InputParameters is created \n"; } //---------------- //---------------- InputParameters* InputParameters::Instanceinstance() { if( !m_pInstance ) m_pInstance = new InputParameters(); return m_pInstance; } //---------------- void InputParameters::print() { std::cout << "InputParameters::print()\n"; } |
Overview
Content Tools