1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
struct B { virtual int f() volatile { return 1; } }; struct D : public B { int f() { return 0; } }; struct D2 : public D { int f() { return 2; } }; int main() { D2 d2; D& d = d2; return d.f(); }