我们都知道MFC使用了C++的对象和类的概念。那么,我最想问的是:一个mfc程序(基于对话框、单文档、多文档)中,每个类各自一共有多少个对象,这些对象在什么时候会被定义(非程序员自定义),定义的顺序是如何的?谢谢!!

解决方案 »

  1.   

    CWinAPP有一个对象,单文档程序文档,每当你新建或者打开时会新建一个,多文档则每个文档对应一个对象。
      

  2.   

    我觉得对象可以自己定义的,类就相当于一个数据类型
    比如:
         int a;
    int是类,a就是对象
      

  3.   

    呵呵,以SDI为例
    每个类(主程序app类、框架类、视图类、文档类)默认的只有一个对象,但如果在你分割视图类,那就不一定了。至于具体产生的时机,你可以好好看看《深入浅出mfc》这本书的第八章,好像是。、
      

  4.   

    sdi大致是,先是cwinapp,然后是mainfrm,view
    你多打几个断点跟踪一下就知道了.
    欢迎光临我的淘宝包店 http://vdstreet.taobao.com 
      

  5.   

    一般情况下,MFC的FrameWork会为框架中的每个类自动生成一个对象。
    例如:基于对话框的程序框架中共有CAbouDlg、CMyApp和CMyDlg三个类对象。
          基于单文档的程序框架中共有CAbouDlg、CMyApp、CMyView、CMyDoc、CMainFrame五个类对象。
    上述情况都是固定套路,一般不会变化。
          至于楼主关注的创建顺序则是一个复杂和繁琐的问题,必须深入剖析一个完整的MFC程序之后才能知道,不是三言两语能说清楚的问题,建议看看侯捷的《深入浅出mfc》或者孙鑫的视频教程。
      

  6.   

    你可以在MFC的源码中设置断点,这样你会深入了解它的
      

  7.   

    Debug下F10,F11去看MFC的源代码最清楚~