class CMainFrame : public CFrameWnd
{
DECLARE_DYNCREATE(CMainFrame)
//protected:
public:
CMainFrame(); // protected constructor used by dynamic creation
virtual ~CMainFrame();protected:
DECLARE_MESSAGE_MAP()
};
问题一:protected下,它是如何动态创建的?
m_pMainWnd = new CMainFrame;必须在public才能通过。问题二:何时delete?这是一个简单的win32基于MFC的程式,但看不到它的释放。
{
DECLARE_DYNCREATE(CMainFrame)
//protected:
public:
CMainFrame(); // protected constructor used by dynamic creation
virtual ~CMainFrame();protected:
DECLARE_MESSAGE_MAP()
};
问题一:protected下,它是如何动态创建的?
m_pMainWnd = new CMainFrame;必须在public才能通过。问题二:何时delete?这是一个简单的win32基于MFC的程式,但看不到它的释放。
是的,如果是protected: 则只有子类可以访问,而public是任何类可以使用的.
2.
virtual ~CMainFrame(); 就是用来释放的,叫析构函数,virtual表示虚函数,要在后面的实现中进行实现,父亲没有实现,详情应该看<<MFC深入浅出>>
PostNcDestroy函数中会执行delete this。