class Base
{
public:
int a;
Base()
{
cout<<"Base()"<<endl;
}
~Base()
{
cout<<"~Base()"<<endl;
}
virtual fun()
{
cout <<"Base fun()"<<endl;
}
};
class Derived:public Base
{
public:
Derived()
{
cout<<"Derived()"<<endl;
}
~Derived()
{
cout<<"~Derived()"<<endl;
}
};
选择项目属性 C/C++ 命令行 附加选项 添加 /d1 reportAllClassLayout 则会打印所有的内存信息。。
/d1 reportSingleClassLayoutBase 则是打印单个类的内存信息。。
F7 编译时,选择输出窗口,生成 如下图:
本文通过两个C++类的实例,展示了如何使用Visual Studio的编译器选项来查看类的内存布局,并介绍了基类与派生类的构造与析构过程。
1万+

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



