#include <iostream>
#include <string>
using namespace std;
class Base {
public:
virtual string toString() const {
return "base";
}
};
class Child : public Base {
public:
virtual string toString() const {
return "child";
}
friend ostream& operator<<(ostream& out, const Base& b);
};
ostream& operator<<(ostream& out, const Base& b) {
out << b.toString();
return out;
}
int main() {
Child c;
cout << c;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQmFzZSB7CiBwdWJsaWM6CiB2aXJ0dWFsIHN0cmluZyB0b1N0cmluZygpIGNvbnN0IHsKICAgcmV0dXJuICJiYXNlIjsKIH0KfTsKCmNsYXNzIENoaWxkIDogcHVibGljIEJhc2UgewogcHVibGljOgogIHZpcnR1YWwgc3RyaW5nIHRvU3RyaW5nKCkgIGNvbnN0IHsKICAgcmV0dXJuICJjaGlsZCI7CiAgfQogIAogIGZyaWVuZCBvc3RyZWFtJiBvcGVyYXRvcjw8KG9zdHJlYW0mIG91dCwgY29uc3QgQmFzZSYgYik7Cn07Cgpvc3RyZWFtJiBvcGVyYXRvcjw8KG9zdHJlYW0mIG91dCwgY29uc3QgQmFzZSYgYikgewoJb3V0IDw8IGIudG9TdHJpbmcoKTsKCXJldHVybiBvdXQ7Cn0KCmludCBtYWluKCkgewoJQ2hpbGQgYzsKCWNvdXQgPDwgYzsKCXJldHVybiAwOwp9