fork download
  1. #include <iostream>
  2. using namespace std;
  3. class A {
  4. public:
  5. static A* me;
  6. int a;
  7. A();
  8. ~A()
  9. {
  10. cout << "A::~A()" << "\n";
  11. a = -1;
  12. }
  13. void FooFunc()
  14. {
  15. A temp9696;
  16. temp9696.a = 9696;
  17. cout << "③ A::me->a = " << A::me->a << "\n";
  18. }
  19. int Diff(A inputA)
  20. {
  21. return a - inputA.a;
  22. }
  23. };
  24. A* A::me;
  25. A::A(){
  26. cout << "A::A()" << "\n";
  27. me = this;
  28. }
  29. int main() {
  30. // your code goes here
  31. A* a1919 = new A;
  32. a1919->a = 1919;
  33. cout << "① A::me->a = " << A::me->a << "\n";
  34. A* a1818 = new A;
  35. a1818->a = 1818;
  36. cout << "② A::me->a = " << A::me->a << "\n";
  37. A::me->FooFunc();
  38. cout << "④ A::me->a = " << A::me->a << "\n";
  39. {
  40. A temp4545;
  41. temp4545.a = 4545;
  42. cout << "⑤ A::me->a = " << A::me->a << "\n";
  43. }
  44. cout << "⑥ A::me->a = " << A::me->a << "\n";
  45. A::me->a = 1919;
  46. cout << "⑦ A::me->Diff(*A::me) = " << A::me->Diff(*A::me) << "\n";
  47. cout << "⑧ A::me->a = " << A::me->a << "\n";
  48. cout << "hage\n";
  49. return 0;
  50. }
Success #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
A::A()
① A::me->a = 1919
A::A()
② A::me->a = 1818
A::A()
③ A::me->a = 9696
A::~A()
④ A::me->a = -1
A::A()
⑤ A::me->a = 4545
A::~A()
⑥ A::me->a = -1
⑦ A::me->Diff(*A::me) = 0
A::~A()
⑧ A::me->a = -1
hage