有些view里有这样的函数
void CMyListView::Init(CMainFrame* pMainFrame)
{
ASSERT(pMainFrame);
m_pMainFrame = pMainFrame;
}在MainFrm里这样调用 
CMyListView* m_pMyListView;
m_pMyListView->Init(this);请问这是干什么用?   多谢指教

解决方案 »

  1.   

    为了在Cview类中可以调用CMainFrame类中的成员。你在什么书上见到的,这样的写法太笨,完全没必要
      

  2.   

    嗯,
    它的类定义大致如下:
    CMyListView
    {
     CMainFrame *m_pMainFrame;
    Init(CMainFrame* pMainFrame)/*目的是用当前的CMainFrame对象初始化  CMyListView中的CMainFrame指针,已达到CMyListView中可以使用当前的
    CMainFrame对象*/
    ......
    };
      目的就是
      

  3.   

    这样的确有点老套,现在一般都用以下的方法得到当前的CMainFrame指针AfxGetApp()->m_pMainWnd;
    或AfxGetMainWnd()