#include <iostream>
using namespace std;
class Base {
public:
virtual void show() {
cout << "Base\n";
}
};
class Derv1: public Base {
public:
void show() {
cout << "Derv1\n";
}
};
class Derv2: public Base {
public:
void show() {
cout << "Derv2\n";
}
};
int main() {
Derv1 derv1;
Derv2 derv2;
Base *ptr;
ptr = &derv1;
ptr -> show();
ptr = &derv2;
ptr -> show();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQmFzZSB7CnB1YmxpYzoKCXZpcnR1YWwgdm9pZCBzaG93KCkgewoJCWNvdXQgPDwgIkJhc2VcbiI7Cgl9Cn07CgpjbGFzcyBEZXJ2MTogcHVibGljIEJhc2UgewpwdWJsaWM6Cgl2b2lkIHNob3coKSB7CgkJY291dCA8PCAiRGVydjFcbiI7Cgl9Cn07CgoKY2xhc3MgRGVydjI6IHB1YmxpYyBCYXNlIHsKcHVibGljOgoJdm9pZCBzaG93KCkgewoJCWNvdXQgPDwgIkRlcnYyXG4iOwoJfQp9OwoKaW50IG1haW4oKSB7CglEZXJ2MSBkZXJ2MTsKCURlcnYyIGRlcnYyOwoJQmFzZSAqcHRyOwoJcHRyID0gJmRlcnYxOwoJcHRyIC0+IHNob3coKTsKCXB0ciA9ICZkZXJ2MjsKCXB0ciAtPiBzaG93KCk7CglyZXR1cm4gMDsKfQ==