#include <iostream>
using namespace std;
class A{
public:
virtual void O(){
cout <<"A"<<endl;
}
};
class B : public A{
virtual void O(){
cout <<"B"<<endl;
}
};
int main() {
// your code goes here
A a;
B b;
a.O();
//b.O(); //error!
A *ab = new B();
ab->O();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQXsKCXB1YmxpYzoKCXZpcnR1YWwgdm9pZCBPKCl7CgkJY291dCA8PCJBIjw8ZW5kbDsJCgl9Cn07CgpjbGFzcyBCIDogcHVibGljIEF7Cgl2aXJ0dWFsIHZvaWQgTygpewoJCWNvdXQgPDwiQiI8PGVuZGw7CQoJfQkKfTsKCgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCUEgYTsKCUIgYjsKCWEuTygpOwoJLy9iLk8oKTsgLy9lcnJvciEKCUEgKmFiID0gbmV3IEIoKTsKCWFiLT5PKCk7CglyZXR1cm4gMDsKfQ==