WinMain与应用程序类之间的联系
1、在应用程序app类里面定义了全局对象theApp代表应用程序本身,在WinMain调用之前会被初始化。
2、app的基类CWinApp构造函数里面将app类的指针存储(根据多态性原理CWinApp里面的this为派生类的指针,测试代码如下),完成初始化之后应用程序有了内存空间。
3、WinMain返回AfxWinMian,在AfxWinMian里面调用AfxGetApp获取应用程序指针,完成应用程序初始化和消息循环
#include "stdafx.h"
#include <iostream>
using namespace std;
class base;
base *pB;
class base
{
public:
base();
virtual void trace();
};
base::base()
{
pB = this;
}
void base::trace()
{
cout << "This is base! "<<endl;
}
class child: public base
{
public:
child();
virtual void trace();
};
child::child()
{
}
void child::trace()
{
cout << "This is child!"<<endl;
}
int main(int argc, char* argv[])
{
child ch;
if(pB)
{
pB -> trace();
}
return 0;
}

浙公网安备 33010602011771号