Windows CE 3.0Windows CE 2.11Pocket PC 2002Windows MobileVisual Studio 6Visual C++ 7.0.NET 1.0Windows 2000Visual C++ 6.0Windows XPMobile AppsIntermediateDevVisual StudioWindowsC++.NET
Tiny Singleton helper class






4.17/5 (6 votes)
Aug 8, 2002

96630

522
SingleT will provide you the easy way to get Singleton pattern.
Introduction
Sometimes we have to code with 'singleton'. If you don't know what Singleton is, you can read about it in many Design Pattern books. Singleton principle is really simple.
As you know, if you use reference pointer for singleton object, then you must delete it when program terminates. But it will be good because it does 'late instance'.
I want to terminate singleton object automatically, and instance lately. So, I coded this.
Good things:
- Late instance.
- Safe terminate automatically.
- Separated code for Object and Singleton.
Here is my tiny singleton helper class - CSingletonT<>
, and I hope it helps you.
// // Using singletonT class // #include "SingletonT.h" // test class class CObj { protected: CObj(){ x = 0 ; TRACE("Created CObj\r\n"); } public: virtual ~CObj(){ x = 0 ; TRACE("Deleted CObj\r\n");} int x; }; // Testing void CTestSingleTDlg::OnButton1() { // TODO: Add your control notification handler code here // if first call, then singleton object will instance ( instance lately ) CObj* o = CSingletonT<CObj>::GetObject(); // use singletone object o->x ++; TRACE("o->x = %d\r\n",o->x); }
If it works, then you can see output like in the sample picture:
I hope it helps you, Thanks!