fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. class foo {
  5. public:
  6. int m_data;
  7. foo(int data) : m_data(data) {
  8. std::cout << "parameterised constructor" << std::endl;
  9. }
  10. foo(const foo &other) : m_data(other.m_data) {
  11. std::cout << "copy constructor" << std::endl;
  12. }
  13.  
  14. foo &operator=(const foo &rhs) {
  15. m_data = rhs.m_data;
  16. std::cout << "copy assignment" << std::endl;
  17. }
  18. };
  19.  
  20. main (int argc, char *argv[]) {
  21. std::vector<foo> a(3, foo(3));
  22. //std::vector<foo> b(4, foo(4));
  23. std::vector<foo> b(3, foo(4));
  24. std::cout << "a = b" << std::endl;
  25. a = b;
  26. return 0;
  27. }
Success #stdin #stdout 0.02s 2860KB
stdin
Standard input is empty
stdout
parameterised constructor
copy constructor
copy constructor
copy constructor
parameterised constructor
copy constructor
copy constructor
copy constructor
a = b
copy assignment
copy assignment
copy assignment