fork download
  1. #include <iostream>
  2.  
  3. struct TestClass
  4. {
  5. TestClass()
  6. {
  7. std::cout << "Instance has been constructed" << std::endl;
  8. }
  9. TestClass(const TestClass &from)
  10. {
  11. std::cout << "Copy has been constructed" << std::endl;
  12. }
  13. TestClass &operator=(const TestClass &from)
  14. {
  15. std::cout << "Assignment" << std::endl;
  16. }
  17. ~TestClass()
  18. {
  19. std::cout << "Instance has been destructed" << std::endl;
  20. }
  21. };
  22.  
  23. void Do1(TestClass t)
  24. {
  25. }
  26. void Do2(TestClass &t)
  27. {
  28. }
  29.  
  30. int main()
  31. {
  32. std::cout << "Start of main" << std::endl;
  33. TestClass test;
  34. std::cout << "Do1:" << std::endl;
  35. Do1(test);
  36. std::cout << "Do2:" << std::endl;
  37. Do2(test);
  38. std::cout << "End of main" << std::endl;
  39. }
Success #stdin #stdout 0.01s 2724KB
stdin
Standard input is empty
stdout
Start of main
Instance has been constructed
Do1:
Copy has been constructed
Instance has been destructed
Do2:
End of main
Instance has been destructed