#include <iostream>
class Foo
{
public:
virtual void f(short) {
std::cout << "Foo::f" << std::endl;
}
};
class Bar : public Foo
{
public:
void f(int) {
std::cout << "Bar::f" << std::endl;
}
};
int main()
{
Bar b;
Foo *x = &b;
x->f(5);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgRm9vCnsKcHVibGljOgogICAgdmlydHVhbCB2b2lkIGYoc2hvcnQpIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgIkZvbzo6ZiIgPDwgc3RkOjplbmRsOwogICAgfQp9OwoKCmNsYXNzIEJhciA6IHB1YmxpYyBGb28KewpwdWJsaWM6CiAgICB2b2lkIGYoaW50KSB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJCYXI6OmYiIDw8IHN0ZDo6ZW5kbDsKICAgIH0KfTsKCmludCBtYWluKCkKewogICAgQmFyIGI7CgogICAgRm9vICp4ID0gJmI7CiAgICB4LT5mKDUpOwp9