单例模式例子

hpp文件:

private:
    static CBlankDrawingDlg* _pSignalInstance;

   static CBlankDrawingDlg* GetInstance();

cpp文件:

CBlankDrawingDlg* CBlankDrawingDlg::_pSignalInstance = nullptr;

CBlankDrawingDlg* CBlankDrawingDlg::GetInstance()
{
    if (_pSignalInstance == nullptr)
    {
        CExtDllState state;
        _pSignalInstance = new CBlankDrawingDlg;
        _pSignalInstance->Create(_pSignalInstance->IDD);
    }
    _pSignalInstance->ShowWindow(SW_SHOW);
    return _pSignalInstance;
}

调用:CBlankDrawingDlg* pDlg = CBlankDrawingDlg::GetInstance();

猜你喜欢

转载自blog.csdn.net/qq_23390975/article/details/81218179
今日推荐