#include <iostream>
using namespace std;
class Base {
public :
virtual void show() {
cout<<"This is base class"<<endl;
}
};
class Derived : public Base {
public:
virtual void show() {
cout<<"This is derived class"<<endl;
}
};
class D2 : public Derived {
public :
void show () {
cout<<"This is derived 2"<<endl;
}
};
int main() {
// your code goes here
Base *obj = new D2();
obj->show();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKICAgIGNsYXNzICBCYXNlIHsKICAgICAgICBwdWJsaWMgOgogICAgICAgIHZpcnR1YWwgdm9pZCBzaG93KCkgewogICAgICAgICAgICBjb3V0PDwiVGhpcyBpcyBiYXNlIGNsYXNzIjw8ZW5kbDsKICAgICAgICB9CiAgICB9OwogICAgY2xhc3MgIERlcml2ZWQgOiBwdWJsaWMgQmFzZSB7CiAgICAgICAgcHVibGljOgogICAgICAgIHZpcnR1YWwgdm9pZCBzaG93KCkgewogICAgICAgICAgICBjb3V0PDwiVGhpcyBpcyBkZXJpdmVkIGNsYXNzIjw8ZW5kbDsKICAgICAgICB9CiAgICB9OwoKICAgIGNsYXNzIEQyIDogcHVibGljIERlcml2ZWQgewogICAgICAgIHB1YmxpYyA6CiAgICAgICAgdm9pZCBzaG93ICgpIHsKICAgICAgICAgICAgY291dDw8IlRoaXMgaXMgZGVyaXZlZCAyIjw8ZW5kbDsKICAgICAgICB9CiAgICB9OwoKICAgIGludCBtYWluKCkgewogICAgICAgIC8vIHlvdXIgY29kZSBnb2VzIGhlcmUKICAgICAgICBCYXNlICpvYmogPSBuZXcgRDIoKTsKICAgICAgICBvYmotPnNob3coKTsKICAgICAgICByZXR1cm4gMDsKfQ==