1 struct X { 2 virtual int f(); 3 }; 4 5 struct Y : X { 6 int f() override; 7 }; 8 f()9 int Y::f() { 10 return 99; 11 } 12 fun(X & x)13 int fun(X& x) { 14 return x.f(); 15 } 16 foo()17 int foo() { 18 X x; 19 Y y; 20 return fun(y) - fun(x) + sizeof(X); 21 } 22