#include <iostream>
using namespace std;
struct Base {
virtual void foo() {
cout << "Base::foo()" << endl;
}
virtual void bar() {
cout << "Base::bar()" << endl;
}
};
struct Derived : public Base {
void bar() override {
cout << "Derived::bar()" << endl;
Base::bar();
}
};
int main() {
Derived d;
d.foo();
d.bar();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEJhc2UgewoJdmlydHVhbCB2b2lkIGZvbygpIHsKCQljb3V0IDw8ICJCYXNlOjpmb28oKSIgPDwgZW5kbDsKCX0KCQoJdmlydHVhbCB2b2lkIGJhcigpIHsKCQljb3V0IDw8ICJCYXNlOjpiYXIoKSIgPDwgZW5kbDsKCX0KfTsKCnN0cnVjdCBEZXJpdmVkIDogcHVibGljIEJhc2UgewoJdm9pZCBiYXIoKSBvdmVycmlkZSB7CgkJY291dCA8PCAiRGVyaXZlZDo6YmFyKCkiIDw8IGVuZGw7CgkJQmFzZTo6YmFyKCk7Cgl9Cn07CgppbnQgbWFpbigpIHsKCURlcml2ZWQgZDsKCWQuZm9vKCk7CglkLmJhcigpOwoJcmV0dXJuIDA7Cn0=