#include <iostream>
class Super {
public: virtual void print() const {
std::cout << __PRETTY_FUNCTION__ << std::endl;
}
public: virtual ~Super() {}
};
class Sub : public Super {
public: virtual void print() const {
std::cout << __PRETTY_FUNCTION__ << std::endl;
}
};
int main() {
Super *obj = new Sub();
// how to call 'Super::print()' from 'obj'
// without using operator '.' and/or '->'?
delete obj;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgU3VwZXIgewogICAgcHVibGljOiB2aXJ0dWFsIHZvaWQgcHJpbnQoKSBjb25zdCB7CiAgICAgICAgc3RkOjpjb3V0IDw8IF9fUFJFVFRZX0ZVTkNUSU9OX18gPDwgc3RkOjplbmRsOwogICAgfQogICAgcHVibGljOiB2aXJ0dWFsIH5TdXBlcigpIHt9Cn07CgpjbGFzcyBTdWIgOiBwdWJsaWMgU3VwZXIgewogICAgcHVibGljOiB2aXJ0dWFsIHZvaWQgcHJpbnQoKSBjb25zdCB7CiAgICAgICAgc3RkOjpjb3V0IDw8IF9fUFJFVFRZX0ZVTkNUSU9OX18gPDwgc3RkOjplbmRsOwogICAgfQp9OwogCmludCBtYWluKCkgewogICAgU3VwZXIgKm9iaiA9IG5ldyBTdWIoKTsKICAgIC8vIGhvdyB0byBjYWxsICdTdXBlcjo6cHJpbnQoKScgZnJvbSAnb2JqJwogICAgLy8gd2l0aG91dCB1c2luZyBvcGVyYXRvciAnLicgYW5kL29yICctPic/CiAgICBkZWxldGUgb2JqOwp9