1*99451b44SJordan Rupprecht class A { 2*99451b44SJordan Rupprecht public: foo()3*99451b44SJordan Rupprecht virtual int foo() { return 1; } 4*99451b44SJordan Rupprecht virtual ~A () = default; 5*99451b44SJordan Rupprecht A() = default; 6*99451b44SJordan Rupprecht }; 7*99451b44SJordan Rupprecht 8*99451b44SJordan Rupprecht class B : public A { 9*99451b44SJordan Rupprecht public: foo()10*99451b44SJordan Rupprecht virtual int foo() { return 2; } 11*99451b44SJordan Rupprecht virtual ~B () = default; 12*99451b44SJordan Rupprecht B() = default; 13*99451b44SJordan Rupprecht }; 14*99451b44SJordan Rupprecht main()15*99451b44SJordan Rupprechtint main() { 16*99451b44SJordan Rupprecht A* a = new B(); 17*99451b44SJordan Rupprecht a->foo(); // break here 18*99451b44SJordan Rupprecht return 0; // break here 19*99451b44SJordan Rupprecht } 20*99451b44SJordan Rupprecht 21