fork download
  1. #include <iostream>
  2.  
  3. class A {
  4. };
  5.  
  6. struct S {
  7. A* a;
  8. S(A* c) { a = c; }
  9. };
  10.  
  11. class B {
  12. public:
  13. B(S* s){ s_ = s; }
  14. S* get_s() {return s_;}
  15. private:
  16. S* s_;
  17. };
  18.  
  19. int main() {
  20. A* a = new A();
  21. S* s = new S(a);
  22. B b = B(s);
  23.  
  24. std::cout << "a in A = " << a << "\n";
  25. std::cout << "a in S = " << s->a << "\n";
  26. std::cout << "a in B = " << b.get_s()->a << "\n";
  27.  
  28. //output:
  29. // a in A = 0x7ffe81376918
  30. // a in S = 0x2563e90
  31. // a in B = 0x2563e90
  32. }
Success #stdin #stdout 0s 4540KB
stdin
Standard input is empty
stdout
a in A = 0x5638893cac20
a in S = 0x5638893cac20
a in B = 0x5638893cac20