ascxyh009 发表于 2015-3-9 17:34:46

关于C++对象布局的困惑,求帮助

当子类从父类虚继承并且重写了父类中的虚函数时,子类对象中会插入4字节的 0   为什么?
class A
{
public:
    virtual void foo(){}
    int ai;
};

class B : virtual public A
{
public:
    void foo(){}
    int bi;
};
类中可以自己加上构造函数,方便调试
我用的vs2013

ascxyh009 发表于 2015-3-9 17:42:24

再补充下   0是加在派生类数据成员之后,虚基类之前的大家帮帮忙谢谢了{:1_1:}

GHT 发表于 2015-4-4 17:21:54

推荐楼主看下:《深入探索C++对象模型》这本书,是专门讲这些的

ascxyh009 发表于 2015-4-6 21:04:28

GHT 发表于 2015-4-4 17:21
推荐楼主看下:《深入探索C++对象模型》这本书,是专门讲这些的

可惜这本书并没有讲这个具体问题,如果您知道为什么或者在哪里有这个答案还请告诉我多谢了
页: [1]
查看完整版本: 关于C++对象布局的困惑,求帮助