会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
linyx
最宝贵的就是生命,生命对于每个人来说只有一次。人的一生应该这样度过:回首往事,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞愧!
首页
订阅
管理
C++ 对象的内存布局【转】
单一继承:
虚函数表在最前面的位置。
成员变量根据其继承和声明顺序依次放在后面。
在单一的继承中,被overwrite的虚函数在虚函数表中得到了更新。
多重继承
每个父类都有自己的虚表。
子类的成员函数被放到了第一个父类的表中。
内存布局中,其父类布局依次按声明顺序排列。
每个父类的虚表中的f()函数都被overwrite成了子类的f()。这样做就是为了解决不同的父类类型的指针指向同一个子类实例,而能够调用到实际的函数。
转自:
http://blog.csdn.net/haoel/article/details/3081328
posted @
2017-07-04 16:15
linyx
阅读(
120
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部