准备
测试环境:Visual Studio 2017
Visual Studio提供给用户显示C++对象在内存中的布局的选项:
/d1reportSingleClassLayoutXXX // XXX替换为类的名字
/d1reportAllClassLayout
创建工程取名为research,在research中找到research源文件
右键该文件点击属性
在research.cpp文件中删除 main 函数,一定要删除
普通多继承子类的内存布局
在research.cpp文件中加入
class A
{
public:
int dataA;
};
class B : public A
{
public:
int dataB;
};
class C : public A
{
public:
int dataC;
};
class D : public B, public C
{
public:
int dataD;
};
生成解决方案(会出现错误,但是不要管因为我们要看的是内存布局),