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 Rupprecht int 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