fork(1) download
  1. #include <string>
  2. #include <iostream>
  3.  
  4. class NonCopyable
  5. {
  6. public:
  7. NonCopyable() = default;
  8. virtual ~NonCopyable() = default;
  9. NonCopyable(const NonCopyable &) = delete;
  10. NonCopyable& operator =(NonCopyable const&) = delete;
  11. NonCopyable(NonCopyable&&) = delete;
  12. NonCopyable& operator=(NonCopyable&&) = delete;
  13. };
  14.  
  15. class Application : public NonCopyable
  16. {
  17. public:
  18. Application() = default;
  19. Application(const Application& a) : NonCopyable(), x(a.x){}
  20. ~Application() { /* ...delete stuff... */ }
  21. std::string x;
  22. };
  23.  
  24. int main(){
  25. Application a;
  26. a.x = "Hello";
  27.  
  28. Application b(a);
  29.  
  30. std::cout << b.x << std::endl;
  31.  
  32. }
Success #stdin #stdout 0s 4400KB
stdin
Standard input is empty
stdout
Hello