There is also a singleton class that may have a non-trivial destructor, but will not want working copy constructor or assignment operator. In such cases, a common technique is to declare copy constructor and assignment operator private, but not to define/implement them.
It is a philosophical argument whether a copy constructor declared private but not actually defined can be said to exist