1*1cbd9aa9SReid Kleckner #ifndef B_H 2*1cbd9aa9SReid Kleckner #define B_H 3*1cbd9aa9SReid Kleckner 4*1cbd9aa9SReid Kleckner #include "a.h" 5*1cbd9aa9SReid Kleckner 6*1cbd9aa9SReid Kleckner class B : virtual public A { x()7*1cbd9aa9SReid Kleckner virtual void x() {} 8*1cbd9aa9SReid Kleckner }; 9*1cbd9aa9SReid Kleckner b(A * p)10*1cbd9aa9SReid Klecknervoid b(A* p) { 11*1cbd9aa9SReid Kleckner p->x(); 12*1cbd9aa9SReid Kleckner // Instantiating a class that virtually inherits 'A' 13*1cbd9aa9SReid Kleckner // triggers calculation of the vtable offsets in 'A'. 14*1cbd9aa9SReid Kleckner B b; 15*1cbd9aa9SReid Kleckner } 16*1cbd9aa9SReid Kleckner 17*1cbd9aa9SReid Kleckner #endif 18