#include <iostream>
using namespace std;
class Shape {
public:
virtual void virtualfunc() { std::cout << "In shape\n"; }
};
class Circle: public Shape {
public:
void virtualfunc() { std::cout << "In Circle\n"; };
};
int main() {
Circle circle_instance;
// don't care what kind of Shape
Shape &someShape = circle_instance;
someShape.virtualfunc();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmNsYXNzIFNoYXBlIHsKcHVibGljOgogICB2aXJ0dWFsIHZvaWQgdmlydHVhbGZ1bmMoKSAgeyBzdGQ6OmNvdXQgPDwgIkluIHNoYXBlXG4iOyB9Cn07CiAKY2xhc3MgQ2lyY2xlOiBwdWJsaWMgU2hhcGUgewpwdWJsaWM6CiAgIHZvaWQgdmlydHVhbGZ1bmMoKSAgeyBzdGQ6OmNvdXQgPDwgIkluIENpcmNsZVxuIjsgfTsKfTsKIAppbnQgbWFpbigpIHsKICAgQ2lyY2xlIGNpcmNsZV9pbnN0YW5jZTsKICAgCiAgIC8vIGRvbid0IGNhcmUgd2hhdCBraW5kIG9mIFNoYXBlCiAgIFNoYXBlICZzb21lU2hhcGUgPSBjaXJjbGVfaW5zdGFuY2U7CiAKICAgc29tZVNoYXBlLnZpcnR1YWxmdW5jKCk7Cn0=