它对类的影响与对结构的影响 完全相同,都会影响数据成员的对齐方式。
实际上在课堂上使用它是非常不寻常的,而且几乎总是一个错误。C++ 类对象的布局在很大程度上是实现定义的。C++ 编译器通常会努力优化该布局,尽可能删除 v-table 指针。当类使用多重继承时,可能会添加一个。因此,对类声明的微小更改,例如使方法为虚拟或添加基类,都可以显着改变对象布局。这当然会破坏依赖于该编译指示的代码。就像序列化为二进制文件的对象将不再正确反序列化一样。一般来说,这也是一种不好的做法,但无论如何都会发生。不要使用它。