class B1 { public: virtual void f1(); int b1_data; };
class B2 { public: virtual void f2(); int b2_data; };
class D : public B1, public B2 { public: int d_data; };
// | vptr_B1 | b1_data | pad | vptr_B2 | b2_data | pad | d_data | pad |
// +---------+---------+-----+---------+---------+-----+--------+-----+
// | |
// +--> D's vtable for B1 +--> D's vtable for B2
class Empty {
};
class NonEmpty : public Empty {
int data;
};