1 2 3 4 5 6 7 8
struct A { }; struct B : virtual A { }; struct C : virtual A, B { }; int main() { C *c = 0; B *b = c; c = static_cast<C*>(b); }