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