#include <iostream>
#include <string>
class Foo {
public:
std::string getIt() const {
return const_cast<Foo *>(this)->getItNonConst();
}
std::string getItNonConst() {
return "Foo";
}
};
int main() {
Foo f;
std::cout << f.getIt();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKY2xhc3MgRm9vIHsKcHVibGljOgogICAgc3RkOjpzdHJpbmcgZ2V0SXQoKSBjb25zdCB7CiAgICAgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8Rm9vICo+KHRoaXMpLT5nZXRJdE5vbkNvbnN0KCk7CiAgICB9CiAgICAKICAgIHN0ZDo6c3RyaW5nIGdldEl0Tm9uQ29uc3QoKSB7CiAgICAgICAgcmV0dXJuICJGb28iOwogICAgfSAKfTsKCmludCBtYWluKCkgewogICAgRm9vIGY7CiAgICBzdGQ6OmNvdXQgPDwgZi5nZXRJdCgpOwp9