fork download
  1. #include <iostream>
  2.  
  3. class s
  4. {
  5. public:
  6. s(): p(new int) {}
  7.  
  8. s(const s& src)
  9. {
  10. std::cout << "Copy\n";
  11. p = src.p;
  12. }
  13.  
  14. void Display() const // Display method just display
  15. {
  16. std::cout << "Value at p :" << *p << std::endl << p << std::endl;
  17. }
  18.  
  19. void UpdateP( int x = 0 )
  20. {
  21. *p = x;
  22. }
  23. private:
  24. int* p;
  25. };
  26.  
  27. int main()
  28. {
  29. s s1;
  30. s s2 = s1;
  31. s1.UpdateP(200);
  32. s1.Display();
  33. s2.Display();
  34. return 0;
  35. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
Copy
Value at p :200
0x990f008
Value at p :200
0x990f008