在MFC中,(1)程序是先执行CMyApp:CMyApp()构造函数还是先执行CMyApp:InitInstance()函数?
          (2)这两个函数有什么区别即不同点,好象它们都是初始化函数,我对这两个函数的概念有点模糊?
望各位大侠帮我解释这两个问题,谢谢!!!

解决方案 »

  1.   

    其实你加两个断点就都知道了。CMyApp有个全局对象,那么它的构造函数一定很早就发生了。这个是语言层面的东西,构造函数当然先被调用了。然后才是
    InitInstance()这里是用于初始化MFC程序的部分,这个是MFC编程层面上的东西了。
      

  2.   

    各位大侠,他们之间有什么区别?什么代码加在构造函数里,什么代码加在InitInstance()函数里,有没有规律性? 
    请详细点说一说,谢谢!!
      

  3.   

    类的成员变量的初始化放在构造函数中;程序本身结构的初始化(涉及操作系统和功能的,比如创建窗口等)放在InitInstance中,其实也没有定例,怎么用可行、怎么用方便就好。
      

  4.   

    一般构造函数里,对类成员初始化
    InitInstance()里,放自己想初始化的内容
    你自己生成的MFC中有文字说明的,什么地方放什么代码的说明
      

  5.   

    全局变量的构造函数会在程序入口点之前执行。
    构造函数往往只是初始化类实例的成员变量;InitInstance仅仅是MFC规定的进程范围的所有初始化工作(包括创建主窗口),它执行完后就直接进入消息循环了。