孙鑫老师第三课的问题 在向导生成的mfc应用程序中 在父类中的调用的this指针怎么会是子类theapp的指针呢?
就是这段代码:(pThreadState->m_pCurrentWinThread=this;)这是原代码,theapp是CWinApp的派生类CTtestapp的对象C...
就是这段代码:(pThreadState->m_pCurrentWinThread = this;)
这是原代码, theapp 是CWinApp的派生类 CTtestapp的对象
CWinApp::CWinApp(LPCTSTR lpszAppName)
{
if (lpszAppName != NULL)
m_pszAppName = _tcsdup(lpszAppName);
else
m_pszAppName = NULL;
// initialize CWinThread state
AFX_MODULE_STATE* pModuleState = _AFX_CMDTARGET_GETSTATE();
AFX_MODULE_THREAD_STATE* pThreadState = pModuleState->m_thread;
ASSERT(AfxGetThread() == NULL);
pThreadState->m_pCurrentWinThread = this;
ASSERT(AfxGetThread() == this); 展开
这是原代码, theapp 是CWinApp的派生类 CTtestapp的对象
CWinApp::CWinApp(LPCTSTR lpszAppName)
{
if (lpszAppName != NULL)
m_pszAppName = _tcsdup(lpszAppName);
else
m_pszAppName = NULL;
// initialize CWinThread state
AFX_MODULE_STATE* pModuleState = _AFX_CMDTARGET_GETSTATE();
AFX_MODULE_THREAD_STATE* pThreadState = pModuleState->m_thread;
ASSERT(AfxGetThread() == NULL);
pThreadState->m_pCurrentWinThread = this;
ASSERT(AfxGetThread() == this); 展开
展开全部
不要马上就进入编写windows程序,你首先要熟悉语言,不然很多东西搞不清楚。到最后还的重来。面向对象的概念一定要清晰,还有数据结构,算法,都非常重要,你现在如果没有基础,反而跟着视频做。其实是照葫芦画瓢,话完了,在叫你话令一个你就不会了
每一个对象的非静态成员函数都有一个默认形参,参数为这个对象的指针.这个编译器生产的
class test
{int x;
public:
void set(int x ,const test*this) 这里的形参和成员数据名字一样,这就是为什么有this指针,
{
this-
每一个对象的非静态成员函数都有一个默认形参,参数为这个对象的指针.这个编译器生产的
class test
{int x;
public:
void set(int x ,const test*this) 这里的形参和成员数据名字一样,这就是为什么有this指针,
{
this-
追问
能来个不是“百度党”的回答吗? 父类的构造函数并不是虚函数 能给个说明问题的小列子也行啊!
拜托
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询