标题:谁能给我分析下虚继承类内存的分布啊
取消只看楼主
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
结帖率:94.44%
已结贴  问题点数:100 回复次数:1 
谁能给我分析下虚继承类内存的分布啊
#include<iostream>
using namespace std;

class A{};
class B:public virtual A{};
class C:public virtual A{};
class D:public B, public C{};
class E:public virtual B, public virtual C{};
class F:public E, public virtual A, public D{};

int main()
{
    cout << sizeof(A) << endl; //1
    cout << sizeof(B) << endl; //4  vfptrB_A
    cout << sizeof(C) << endl; //4  vfptrC_A
    cout << sizeof(D) << endl; //8  vfptrB_A, vfptrC_A
    cout << sizeof(E) << endl; //8  vfptrE_B, vfptrE_C
    cout << sizeof(F) << endl; //16 vfptrE_B, vfptrE_C,vfptrB_A, vfptrC_A
    return 0;
}
是不是虚继承哪个类,就在类中插入一个指向这个虚继承类的指针啊?? 如果是这样为什么F中没vfptrF_A?
还是我上面的理解根本就是错的啊
哪位能给我详细说说啊?,真的搞的有点晕了
搜索更多相关主题的帖子: 继承 内存 include public 
2012-05-05 15:26
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
得分:0 
顶上去等大牛求解
2012-05-05 21:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-367003-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.168335 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved