Can any one tell why do we have copy and move constructors and assignments are explicitly deleted how it impacts on class behavior
class System : public std::enable_shared_from_this<System> {
  public:
    System();
    virtual ~System();
    System(const System&) = delete;
    System(System&&) = delete;
    System& operator=(const System&) = delete;
    System& operator=(System&&) = delete;
     ---
   }
 
    