在该书的那页有以下代码:
//之前有一些仿MFC类的定义代码CMyWinApp theApp;
viod main()
{
CWinApp* pApp = AfxGetApp();
//....
}然而我对后面紧跟的一段话似乎有些不解,“其中pApp指向theApp全局对象”,这里pApp的类型明明是CWinApp,他怎么就说pApp指向的是theApp呢?请各位帮忙解释一下:
//之前有一些仿MFC类的定义代码CMyWinApp theApp;
viod main()
{
CWinApp* pApp = AfxGetApp();
//....
}然而我对后面紧跟的一段话似乎有些不解,“其中pApp指向theApp全局对象”,这里pApp的类型明明是CWinApp,他怎么就说pApp指向的是theApp呢?请各位帮忙解释一下:
*pApp的值就是theApp
换言之,它能够指向任何从它派生的类的结构地址。
所以说呢,这里的pApp指向的就是theApp。
~_~
class CWinApp : public CWinThread
{
public:
CWinApp* m_pCurrentWinApp;
public:
//...
m_pCurrentWinApp = this;//这里的this指针应该
//是指向CWinApp的对象吧?
//...
};//...//全局函数AfxGetApp
CWinApp* AfxGetApp()
{
return theApp.m_pCurrentWinApp;//这里的m_pCurrentWinApp应该是
//CMyWinApp从CWinApp继承而来的
//成员变量,和基类的
// m_pCurrentWinAmp无关吧,
//但是好像此变量没有被初始化哦,
//哪儿来的值呢?
}我就是这个问题有点昏