C++问题,我刚开始看MFC由浅到深,有些问题我不懂,请帮我解释一下

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:41:51
CMyWinApp theApp;
//theApp是全局的对象,它调用的构造函数比主函数要提前,但是我不明白以下代码:
CWinApp*pApp=AfxGetApp();
pApp->InitApplication();
pApp->InitInstance();
pAPP->Run();
具体点好吗?

theApp 在 main之间已经生成了,也就是说 theApp 构造函数已经执行过了

在系统一系列动作之后,包括构造 theApp 之后,开始执行 main/WinMain 函数,内容如下

CWinApp*pApp=AfxGetApp(); 取得已经构造出的全局变量 theApp
pApp->InitApplication(); 执行 theApp 里的其中一个成员函数;注册窗口类
pApp->InitInstance(); 执行 theApp 里的其中一个成员函数;创建窗口
pAPP->Run(); 执行 theApp 里的其中一个成员函数;开始消息循环

这些是 main 函数的动作,但在MFC里,main藏得很深,HJJ把他挖出来是让你看MFC真面目

建议先学 win32 编程,再看MFC,这样会很爽的

CWinApp 这是一个类(“类”自己看书),pApp->InitApplication();表示的是调用CWinApp类里的一个函数。

这是初始化这个MFC应用程序的意思.