源码
class Base
{
public:
Base() {}
virtual void func() {}
int bi_;
};
class Son:virtual public Base
{
public:
int i_;
};
int main()
{
Son s;
s.bi_ = 3;
s.i_ = 9;
return 0;
}
分析
![]()
内存布局图如下:

(SAW:Game Over!)
本文通过一个C++源码实例,展示了基类与派生类在内存中的布局方式,解析了多重继承中虚继承的使用,以及成员变量在对象内存中的排列规则。
源码
class Base
{
public:
Base() {}
virtual void func() {}
int bi_;
};
class Son:virtual public Base
{
public:
int i_;
};
int main()
{
Son s;
s.bi_ = 3;
s.i_ = 9;
return 0;
}
分析
![]()
内存布局图如下:

(SAW:Game Over!)
2309
1924

被折叠的 条评论
为什么被折叠?