#include <iostream>
using namespace std;
class Foo
{
public:
int a,b,c;
double d,e,f;
string text;
Foo ()
{
cout << "Sup" << endl;
}
~Foo()
{
cout << "R.I.P." << endl;
}
static Foo& getInstanceRef()
{
Foo o;
o.a = 42;
o.text = "42";
return o;
}
};
int main() {
cout << "Creating \"a\"" << endl;
Foo a;
cout << "Assigning a new value to \"a\"" << endl;
a = Foo::getInstanceRef();
cout << a.a << " " << a.text << endl;
cout << "Cleaning up and finishing work" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBGb28KewpwdWJsaWM6CglpbnQgYSxiLGM7CiAgICBkb3VibGUgZCxlLGY7CiAgICBzdHJpbmcgdGV4dDsKICAgIEZvbyAoKQogICAgewogICAgCWNvdXQgPDwgIlN1cCIgPDwgZW5kbDsKICAgIH0KICAgIH5Gb28oKQogICAgewogICAgCWNvdXQgPDwgIlIuSS5QLiIgPDwgZW5kbDsKICAgIH0KCQoJc3RhdGljIEZvbyYgZ2V0SW5zdGFuY2VSZWYoKQoJewoJCUZvbyBvOwoJCW8uYSA9IDQyOwoJCW8udGV4dCA9ICI0MiI7CgkJcmV0dXJuIG87Cgl9Cn07CgppbnQgbWFpbigpIHsKCWNvdXQgPDwgIkNyZWF0aW5nIFwiYVwiIiA8PCBlbmRsOwoJRm9vIGE7CgkKCWNvdXQgPDwgIkFzc2lnbmluZyBhIG5ldyB2YWx1ZSB0byBcImFcIiIgPDwgZW5kbDsKCWEgPSBGb286OmdldEluc3RhbmNlUmVmKCk7Cgljb3V0IDw8IGEuYSA8PCAiICIgPDwgYS50ZXh0IDw8IGVuZGw7CgoJY291dCA8PCAiQ2xlYW5pbmcgdXAgYW5kIGZpbmlzaGluZyB3b3JrIiA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=