为什么MFC里很多类的派生类在调用函数时,函数里要先调用父类的同名函数呢?比如:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
        if( !CFrameWnd::PreCreateWindow(cs) )
                return FALSE;
}

解决方案 »

  1.   

      很多类似消息, 你不调用父类, 根本没有传递到MFC底层框架,所以消息失效的
      

  2.   

    CFrameWnd::PreCreateWindow(cs) 调用基类的同名函数
      

  3.   


    你可以在OnPaint里面写一段绘制的代码,如果你删掉父类的OnPaint函数的话,对话框都重绘不了,你怎么能在对话框上重绘呢。
      

  4.   

    因为MFC之所以简化Win32编程,就是它封装了大量细节繁琐实现,这些东西都在那些父级成员里呢,如果不调用的话,根本无法实现功能。
      

  5.   

    这,要好好看看c++ 继承 多态. 理解为啥要virtual.以及多态的好处
      

  6.   

    因为MFC之所以简化Win32编程,就是它封装了大量细节繁琐实现,这些东西都在那些父级成员里呢,如果不调用的话,根本无法实现功能。