fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class inner
  5. {
  6. public:
  7. inner() { cout << "inner\n"; }
  8. ~inner() { cout << "~inner\n"; }
  9. };
  10.  
  11. inner& get_inner()
  12. {
  13. static inner i;
  14. return i;
  15. }
  16.  
  17. class outer
  18. {
  19. public:
  20. outer() { cout << "outer\n"; get_inner(); }
  21. ~outer() { cout << "~outer\n"; }
  22. };
  23.  
  24. outer& get_outer()
  25. {
  26. static outer o;
  27. return o;
  28. }
  29.  
  30. int main()
  31. {
  32. get_outer();
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
outer
inner
~outer
~inner