#include <iostream>
using namespace std;
class A
{
public:
void do_f()
{
f();
}
virtual void f()
{
cout << this << endl;
cout << "A::f" << endl;
cout << endl;
}
};
class B : public A
{
public:
virtual void f()
{
cout << this << endl;
cout << "B::f" << endl;
cout << endl;
}
};
int main()
{
B b;
b.f();
b.do_f();
}
End of Listing