fork download
  1. //demo classes
  2. #include <iostream>
  3. #include <string>
  4. class demo {
  5. public:
  6. std::string data;
  7. demo() : data("LONG STRING SO NO CHEATS") {std::cout<<"default construct\n";}
  8. demo(const demo& rhs) : data(rhs.data) {std::cout<<"copy construct\n";}
  9. demo& operator=(const demo& rhs) {data = rhs.data; std::cout<<"copy assignment\n"; return *this;}
  10. void prove() const {std::cout<<((void*)(data.c_str()))<<' '<<data.c_str()<<'\n';}
  11. };
  12.  
  13.  
  14.  
  15. //test suite
  16. int main() {
  17. demo a;
  18. a.prove();
  19. demo b = a;
  20. a.prove();
  21. b.prove();
  22. }
  23.  
Success #stdin #stdout 0s 3028KB
stdin
Standard input is empty
stdout
default construct
0x86de014 LONG STRING SO NO CHEATS
copy construct
0x86de014 LONG STRING SO NO CHEATS
0x86de014 LONG STRING SO NO CHEATS