从面向对象角度看,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对象吗
展开
 我来答
搞笑点
2009-04-10 · TA获得超过237个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:225万
展开全部
一个对象是一段内存,类只是一个抽象的概念。一个对象可以属于多个类,比如一个人属于哺乳动物,也属于动物,更属于生物一样。

mfc程序内存中并不存在cview和cwnd类的对象 这句话是错的!

CMainFrame本身也是CWnd,在内存结构上讲你可以看作是CWnd对象内存再加一段CMainFrame自有成员的内存组成了CMainFrame
confuciuskg
2009-04-10 · TA获得超过1285个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:277万
展开全部
(1)构造一个对象,至少调用到一次构造函数,如果存在继承体系,则构造会从根类一直调用到你的派生类。但是只会在内存中产生你最后的那个派生类型的对象;
(2)由于是继承关系,则你最后的派生对象已经都具有了其父类的可继承的全部方法和属性了;
(3)你对GetParent的理解是不正确的,它是获取父窗口的句柄的

不明白的地方可以hi我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疯狂的鬼混
2009-04-14
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
没有的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式