#include <iostream>
using namespace std;
 
class Base {
    public:
        void display() {
            foo();
        }
        virtual void foo() {
            cout << "Base.foo()" << endl;
        }
    };
 
    class Derived : public Base {
    public:
        void foo() {
            cout << "Derived.foo()" << endl;
        }
    };
 
int main() {
    Derived* derived = new Derived();
    derived->display();
}
 
				I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQmFzZSB7CiAgICBwdWJsaWM6CiAgICAgICAgdm9pZCBkaXNwbGF5KCkgewogICAgICAgICAgICBmb28oKTsKICAgICAgICB9CiAgICAgICAgdmlydHVhbCB2b2lkIGZvbygpIHsKICAgICAgICAgICAgY291dCA8PCAiQmFzZS5mb28oKSIgPDwgZW5kbDsKICAgICAgICB9CiAgICB9OwogICAgCiAgICBjbGFzcyBEZXJpdmVkIDogcHVibGljIEJhc2UgewogICAgcHVibGljOgogICAgICAgIHZvaWQgZm9vKCkgewogICAgICAgICAgICBjb3V0IDw8ICJEZXJpdmVkLmZvbygpIiA8PCBlbmRsOwogICAgICAgIH0KICAgIH07CiAgICAKaW50IG1haW4oKSB7CiAgICBEZXJpdmVkKiBkZXJpdmVkID0gbmV3IERlcml2ZWQoKTsKICAgIGRlcml2ZWQtPmRpc3BsYXkoKTsKfQo=