#include <iostream>
class Foo {
public:
virtual void method() const
{
std::cout << "Foo::method()" << std::endl;
}
};
class Bar : public Foo {
public:
virtual void method() const override
{
std::cout << "Bar::method()" << std::endl;
}
};
int main() {
Bar b;
Foo& f = b;
b.method();
f.method();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCmNsYXNzIEZvbyB7CnB1YmxpYzoKCXZpcnR1YWwgdm9pZCBtZXRob2QoKSBjb25zdAoJewoJCXN0ZDo6Y291dCA8PCAiRm9vOjptZXRob2QoKSIgPDwgc3RkOjplbmRsOwoJfQp9OwogCmNsYXNzIEJhciA6IHB1YmxpYyBGb28gewpwdWJsaWM6Cgl2aXJ0dWFsIHZvaWQgbWV0aG9kKCkgY29uc3Qgb3ZlcnJpZGUKCXsKCQlzdGQ6OmNvdXQgPDwgIkJhcjo6bWV0aG9kKCkiIDw8IHN0ZDo6ZW5kbDsKCX0KfTsKIAppbnQgbWFpbigpIHsKCUJhciBiOwoJRm9vJiBmID0gYjsKCWIubWV0aG9kKCk7CglmLm1ldGhvZCgpOwoJcmV0dXJuIDA7Cn0=