- 2
- 0
- 约2.74千字
- 约 5页
- 2018-05-25 发布于河南
- 举报
C对象布局及多态实现探索之虚继承
C++对象布局及多态实现探索之虚继承
作者:浩瀚天涯 来源: 发布时间:07-04-29 浏览: 10651 次
下面我们来看虚继承。首先看看这c020类,它从c010虚继承:}struct c010{ c010() : c_(0x01) {} void foo() { c_ = 0x02; } char c_;};struct c020 : public virtual c010{ c020() : c_(0x02) {} char c_;}; 运行如下代码,查看对象的内存布局:print_size_detail(c020) 结果为:the size of c020 is 6the detail of c020 is c0 c2 45 00 02 01 很明显对象的起始处是一个指针,然后是子类的成员变量,接下来是父类的成员变量。和以前的讨论不同的是由于使用了虚继承,父类的成员变量被放到了最后面。 运行如下的代码:c020 c020;c020.c010::c_ = 0x04; 由于子类中的变量和父类中的变量重名,所以我们必须用这种方式来访问属于父类的成员变量,普通情况下??需要这种写法。我们看看后面这行代码对应的汇编代码:0042387e mov eax,dword ptr [ebp+fffff82ch] 004
您可能关注的文档
最近下载
- 《城市轨道交通 数据分类分级指南》.pdf VIP
- 国内外压裂新技术.pptx VIP
- LNG气化站安全检查表(气站).docx VIP
- 2026年党群部笔试题目及答案.docx VIP
- 《电气机械制图》课件——项目五 绘制与识读零件图.pptx
- CN119595896A 基于超顺磁纳米粒子交流磁化响应的全液相大肠杆菌免疫分析方法、系统、装置、介质 (沈阳工业大学).docx VIP
- 银行劳务外包服务投标方案.doc
- 2025年甘肃省甘南藏族自治州卓尼县小升初总复习数学精选精练含解析.doc VIP
- 2025年公安辅警招聘知识考试题(含答案).docx VIP
- 广东省广州市广大附中教育集团2022-2023学年九年级上学期自主招生数学试题(答案).docx VIP
原创力文档

文档评论(0)