Solution

-- explicit scoping
  class P { 
\fbox{P'}
public: virtual int m(int i) { cout << i; return i==0 ? i : P::m(i-1); } };

slide: Explicit scoping