#include <iostream>
using namespace std;
int main() {
class Base {
public:
virtual void print() { std::cout << "B"; }
};
class Derived: public Base {
public:
void print() { std::cout << "D" ; }
};
// in main() ...
Base *pb {new Derived};
pb->print();
delete pb;
pb = new Base;
pb->print();
delete pb;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CmNsYXNzIEJhc2UgewpwdWJsaWM6CiAgdmlydHVhbCB2b2lkIHByaW50KCkgeyBzdGQ6OmNvdXQgPDwgIkIiOyB9Cn07CiAKY2xhc3MgRGVyaXZlZDogcHVibGljIEJhc2UgewpwdWJsaWM6CiAgdm9pZCBwcmludCgpIHsgc3RkOjpjb3V0IDw8ICJEIiA7IH0KfTsKIAovLyBpbiBtYWluKCkgLi4uCkJhc2UgKnBiIHtuZXcgRGVyaXZlZH07CnBiLT5wcmludCgpOwpkZWxldGUgcGI7CnBiID0gbmV3IEJhc2U7CnBiLT5wcmludCgpOwpkZWxldGUgcGI7Cn0=