#include <Unique.h>
Public Member Functions | |
CUnique () | |
virtual | ~CUnique () |
Static Public Member Functions | |
static T * | GetMe () |
Vraća pointer na objekt. | |
static void | MakeMe () |
Poziva konstruktor klase T. | |
static void | DestroyMe () |
Poziva destruktor klase T. | |
Static Protected Attributes | |
static T * | Me = NULL |
Pointer na objekt. |
include <afxtempl.h> Template Singleton
T | klasa čiji singleton treba napraviti |
#include "VAPSCCGX.h" #include "Unique.h" class CVAPSX : public CVAPSCCGX, public CUnique <CVAPSX> { public: CVAPSX() {} virtual ~CVAPSX() { } }; In CVAPSApp.cpp (MainApp): In InitInstance: CVAPSX::MakeMe(); In ExitInstance: CVAPSX::DestroyMe(); In CVAPSCtrl.cpp, for example: void CVAPSCtrl::SetTraka(float fValue) { CVAPSX::GetMe()->Drive_Tape("", "tHorizontTraka", ToDeg(fValue)); } Or: void CVAPSCtrl::InitialUpdate() { #ifdef _DEBUG CVAPSX::GetMe()->SetCommandLine("-OpenGL -noborder"); #else CVAPSX::GetMe()->SetCommandLine("-OpenGL -noborder -norefresh"); #endif } // // In CVAPSWnd.cpp, for example: void CVAPSWnd::OnSize(UINT nType, int cx, int cy) { CWnd::OnSize(nType, cx, cy); CVAPSX::GetMe()->SetWindowPos(0, 0, 0, cx, cy, SWP_NOZORDER | SWP_SHOWWINDOW | SWP_NOREDRAW); }
static void CUnique< T >::DestroyMe | ( | ) | [inline, static] |
Poziva destruktor klase T.
static T* CUnique< T >::GetMe | ( | ) | [inline, static] |
Vraća pointer na objekt.
static void CUnique< T >::MakeMe | ( | ) | [inline, static] |
Poziva konstruktor klase T.