#include <iostream>
using namespace std;
enum Status{Idle, Busy};
std::ostream& operator<<(std::ostream& os, const Status status)
{
switch (status)
{
case Idle: return os << "Idle";
case Busy: return os << "Busy";
default: return os << "Status:" << status;
}
return os << "<error>";
}
class text
{
public:
void SetStatus(Status s);
Status getStatus();
private:
Status s;
};
void text::SetStatus(Status s)
{
this->s = s;
}
Status text::getStatus()
{
return this->s;
}
int main()
{
text myText;
myText.SetStatus(Busy);
cout << myText.getStatus() << endl; // should output "Busy"
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKZW51bSBTdGF0dXN7SWRsZSwgQnVzeX07CgpzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtJiBvcywgY29uc3QgU3RhdHVzIHN0YXR1cykKewogICAgc3dpdGNoIChzdGF0dXMpCiAgICB7CiAgICAgICAgY2FzZSBJZGxlOiByZXR1cm4gb3MgPDwgIklkbGUiOwogICAgICAgIGNhc2UgQnVzeTogcmV0dXJuIG9zIDw8ICJCdXN5IjsKICAgICAgICBkZWZhdWx0OiAgIHJldHVybiBvcyA8PCAiU3RhdHVzOiIgPDwgc3RhdHVzOwogICAgfQoKICAgIHJldHVybiBvcyA8PCAiPGVycm9yPiI7Cn0KCmNsYXNzIHRleHQKewogICAgcHVibGljOgogICAgICAgIHZvaWQgU2V0U3RhdHVzKFN0YXR1cyBzKTsKICAgICAgICBTdGF0dXMgZ2V0U3RhdHVzKCk7CiAgICBwcml2YXRlOgogICAgICAgIFN0YXR1cyBzOyAgICAgICAKfTsKdm9pZCB0ZXh0OjpTZXRTdGF0dXMoU3RhdHVzIHMpCnsKICAgIHRoaXMtPnMgPSBzOwp9ClN0YXR1cyB0ZXh0OjpnZXRTdGF0dXMoKQp7CiAgICByZXR1cm4gdGhpcy0+czsKfQoKaW50IG1haW4oKQp7CiAgICB0ZXh0IG15VGV4dDsKICAgIG15VGV4dC5TZXRTdGF0dXMoQnVzeSk7CiAgICBjb3V0IDw8IG15VGV4dC5nZXRTdGF0dXMoKSA8PCBlbmRsOyAvLwlzaG91bGQgb3V0cHV0ICJCdXN5Igp9Cg==