从面向对象角度看,mfc程序内存中并不存在cview和cwnd类的对象是吗
只不过在构造子类时会层层调用基类构造函数,对吗,GetParent()->GetDescendantWindow(AFX_IDW_STATUS_BAR)->SetWind...
只不过在构造子类时会层层调用基类构造函数,对吗,
GetParent()->GetDescendantWindow(AFX_IDW_STATUS_BAR)->SetWindowText(str);
((CMainFrame*)GetParent())->GetDescendantWindow(AFX_IDW_STATUS_BAR)->SetWindowText(str);
这是从CView类继承的CMyview类调用的,上面调用的GetDescendantWindow是调用CWnd类的成员函数,而下面是调用的CMainFrame从CWnd继承的成员函数是吗,
可是内存中要是真的没有CWnd类对象,那么在CView类调用GetParent()获得的CWnd指针又是指向哪里呢,是指向CMainFrame类对象中的CWnd对象的内存部分吗,
很清楚这些东西的人能给我一个明确的答案吗,我很想知道,谢谢
我现在也想知道mfc的框架的对象问题啊
CMainframe中包含CWnd的数据成员,但是内存中有Cwnd对象吗 展开
GetParent()->GetDescendantWindow(AFX_IDW_STATUS_BAR)->SetWindowText(str);
((CMainFrame*)GetParent())->GetDescendantWindow(AFX_IDW_STATUS_BAR)->SetWindowText(str);
这是从CView类继承的CMyview类调用的,上面调用的GetDescendantWindow是调用CWnd类的成员函数,而下面是调用的CMainFrame从CWnd继承的成员函数是吗,
可是内存中要是真的没有CWnd类对象,那么在CView类调用GetParent()获得的CWnd指针又是指向哪里呢,是指向CMainFrame类对象中的CWnd对象的内存部分吗,
很清楚这些东西的人能给我一个明确的答案吗,我很想知道,谢谢
我现在也想知道mfc的框架的对象问题啊
CMainframe中包含CWnd的数据成员,但是内存中有Cwnd对象吗 展开
3个回答
展开全部
(1)构造一个对象,至少调用到一次构造函数,如果存在继承体系,则构造会从根类一直调用到你的派生类。但是只会在内存中产生你最后的那个派生类型的对象;
(2)由于是继承关系,则你最后的派生对象已经都具有了其父类的可继承的全部方法和属性了;
(3)你对GetParent的理解是不正确的,它是获取父窗口的句柄的
不明白的地方可以hi我
(2)由于是继承关系,则你最后的派生对象已经都具有了其父类的可继承的全部方法和属性了;
(3)你对GetParent的理解是不正确的,它是获取父窗口的句柄的
不明白的地方可以hi我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询