#include <iostream>
class MyBaseClass {
public:
void foo() {
std::cout << "MyBaseClass foo()" << std::endl;
}
};
class MyDerivedClass : public MyBaseClass {
public:
void foo() {
std::cout << "MyDerivedClass foo()" << std::endl;
}
void callBaseFoo() {
MyBaseClass::foo(); // Call foo() from MyBaseClass
}
};
int main() {
MyDerivedClass obj;
obj.foo(); // Calls MyDerivedClass foo()
obj.callBaseFoo(); // Calls MyBaseClass foo()
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgTXlCYXNlQ2xhc3MgewpwdWJsaWM6CiAgICB2b2lkIGZvbygpIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgIk15QmFzZUNsYXNzIGZvbygpIiA8PCBzdGQ6OmVuZGw7CiAgICB9Cn07CgpjbGFzcyBNeURlcml2ZWRDbGFzcyA6IHB1YmxpYyBNeUJhc2VDbGFzcyB7CnB1YmxpYzoKICAgIHZvaWQgZm9vKCkgewogICAgICAgIHN0ZDo6Y291dCA8PCAiTXlEZXJpdmVkQ2xhc3MgZm9vKCkiIDw8IHN0ZDo6ZW5kbDsKICAgIH0KCiAgICB2b2lkIGNhbGxCYXNlRm9vKCkgewogICAgICAgIE15QmFzZUNsYXNzOjpmb28oKTsgLy8gQ2FsbCBmb28oKSBmcm9tIE15QmFzZUNsYXNzCiAgICB9Cn07CgppbnQgbWFpbigpIHsKICAgIE15RGVyaXZlZENsYXNzIG9iajsKICAgIG9iai5mb28oKTsgICAgICAgICAgLy8gQ2FsbHMgTXlEZXJpdmVkQ2xhc3MgZm9vKCkKICAgIG9iai5jYWxsQmFzZUZvbygpOyAgLy8gQ2FsbHMgTXlCYXNlQ2xhc3MgZm9vKCkKICAgIHJldHVybiAwOwp9