#include <iostream>
using namespace std;
typedef enum {
ACTIVE = 0,
SLEEP = 1,
FINISHED = 2,
WAITING = 3,
KILLED = 4
} Mode;
class MyClass
{
public:
void updateStatus(void);
Mode getValue(void);
private:
Mode myMode;
};
void MyClass::updateStatus(void)
{
myMode = KILLED;
printf("Mode = %d\n", myMode); // prints 4, for example
}
Mode MyClass::getValue(void)
{
printf("Mode = %d\n", myMode); // prints 0
return myMode;
}
MyClass myclass;
int main(void)
{
myclass.updateStatus(); // Called periodically
Mode x = myclass.getValue();
printf("Mode = %d\n", x); // Prints 0
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBlbnVtIHsKICAgIEFDVElWRSAgID0gIDAsICAKICAgIFNMRUVQICAgID0gIDEsICAKICAgIEZJTklTSEVEID0gIDIsICAKICAgIFdBSVRJTkcgID0gIDMsCiAgICBLSUxMRUQgICA9ICA0Cn0gTW9kZTsKCgpjbGFzcyBNeUNsYXNzCnsKICAgIHB1YmxpYzoKICAgICAgdm9pZCB1cGRhdGVTdGF0dXModm9pZCk7CiAgICAgIE1vZGUgZ2V0VmFsdWUodm9pZCk7CgogICAgcHJpdmF0ZToKICAgICAgTW9kZSBteU1vZGU7Cn07Cgp2b2lkIE15Q2xhc3M6OnVwZGF0ZVN0YXR1cyh2b2lkKQp7CiAgICBteU1vZGUgPSBLSUxMRUQ7CiAgICBwcmludGYoIk1vZGUgPSAlZFxuIiwgbXlNb2RlKTsgICAvLyBwcmludHMgNCwgZm9yIGV4YW1wbGUKfQoKTW9kZSBNeUNsYXNzOjpnZXRWYWx1ZSh2b2lkKQp7CiAgICBwcmludGYoIk1vZGUgPSAlZFxuIiwgbXlNb2RlKTsgICAvLyBwcmludHMgMAogICAgcmV0dXJuIG15TW9kZTsgCn0KCk15Q2xhc3MgbXljbGFzczsKCmludCBtYWluKHZvaWQpCnsKICAgIG15Y2xhc3MudXBkYXRlU3RhdHVzKCk7ICAgICAvLyBDYWxsZWQgcGVyaW9kaWNhbGx5CiAgICBNb2RlIHggPSBteWNsYXNzLmdldFZhbHVlKCk7CiAgICBwcmludGYoIk1vZGUgPSAlZFxuIiwgeCk7ICAgLy8gUHJpbnRzIDAKfQ==