#include <iostream>
using namespace std;
class A {
public:
static A* me;
int a;
A();
~A()
{
cout << "A::~A()" << "\n";
a = -1;
}
void FooFunc()
{
A temp9696;
temp9696.a = 9696;
cout << "③ A::me->a = " << A::me->a << "\n";
}
int Diff(A inputA)
{
return a - inputA.a;
}
};
A* A::me;
A::A(){
cout << "A::A()" << "\n";
me = this;
}
int main() {
// your code goes here
A* a1919 = new A;
a1919->a = 1919;
cout << "① A::me->a = " << A::me->a << "\n";
A* a1818 = new A;
a1818->a = 1818;
cout << "② A::me->a = " << A::me->a << "\n";
A::me->FooFunc();
cout << "④ A::me->a = " << A::me->a << "\n";
{
A temp4545;
temp4545.a = 4545;
cout << "⑤ A::me->a = " << A::me->a << "\n";
}
cout << "⑥ A::me->a = " << A::me->a << "\n";
A::me->a = 1919;
cout << "⑦ A::me->Diff(*A::me) = " << A::me->Diff(*A::me) << "\n";
cout << "⑧ A::me->a = " << A::me->a << "\n";
cout << "hage\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBBIHsKICAgIHB1YmxpYzoKICAgIHN0YXRpYyBBKiBtZTsKICAgIGludCBhOwogICAgQSgpOwogICAgfkEoKQogICAgewogICAgICAgIGNvdXQgPDwgIkE6On5BKCkiIDw8ICJcbiI7CiAgICAgICAgYSA9IC0xOwogICAgfQogICAgdm9pZCBGb29GdW5jKCkKICAgIHsKICAgICAgICBBIHRlbXA5Njk2OwogICAgICAgIHRlbXA5Njk2LmEgPSA5Njk2OwogICAgICAgIGNvdXQgPDwgIuKRoiBBOjptZS0+YSA9ICIgPDwgQTo6bWUtPmEgPDwgIlxuIjsKICAgIH0KICAgIGludCBEaWZmKEEgaW5wdXRBKQogICAgewogICAgICAgIHJldHVybiBhIC0gaW5wdXRBLmE7CiAgICB9Cn07CkEqIEE6Om1lOwpBOjpBKCl7CiAgIGNvdXQgPDwgIkE6OkEoKSIgPDwgIlxuIjsgCiAgICBtZSA9IHRoaXM7Cn0KaW50IG1haW4oKSB7CiAgICAvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCiAgICBBKiBhMTkxOSA9IG5ldyBBOwogICAgYTE5MTktPmEgPSAxOTE5OwogICAgY291dCA8PCAi4pGgIEE6Om1lLT5hID0gIiA8PCBBOjptZS0+YSA8PCAiXG4iOwogICAgQSogYTE4MTggPSBuZXcgQTsKICAgIGExODE4LT5hID0gMTgxODsKICAgIGNvdXQgPDwgIuKRoSBBOjptZS0+YSA9ICIgPDwgQTo6bWUtPmEgPDwgIlxuIjsKICAgIEE6Om1lLT5Gb29GdW5jKCk7CiAgICBjb3V0IDw8ICLikaMgQTo6bWUtPmEgPSAiIDw8IEE6Om1lLT5hIDw8ICJcbiI7CiAgICB7CiAgICAgICAgIEEgdGVtcDQ1NDU7CiAgICAgICAgIHRlbXA0NTQ1LmEgPSA0NTQ1OwogICAgICAgICBjb3V0IDw8ICLikaQgQTo6bWUtPmEgPSAiIDw8IEE6Om1lLT5hIDw8ICJcbiI7CiAgICB9CiAgICBjb3V0IDw8ICLikaUgQTo6bWUtPmEgPSAiIDw8IEE6Om1lLT5hIDw8ICJcbiI7CiAgICBBOjptZS0+YSA9IDE5MTk7CiAgICBjb3V0IDw8ICLikaYgQTo6bWUtPkRpZmYoKkE6Om1lKSA9ICIgPDwgQTo6bWUtPkRpZmYoKkE6Om1lKSA8PCAiXG4iOwogICAgY291dCA8PCAi4pGnIEE6Om1lLT5hID0gIiA8PCBBOjptZS0+YSA8PCAiXG4iOwogICAgY291dCA8PCAiaGFnZVxuIjsKICAgIHJldHVybiAwOwp9