Class interface for un-copyable classes.
In some cases, classes might not be copied e.g. if the implementation of this would be very complex and it provides no benefits to copy an instance of a particular class.
To forbid, that instance of this class might be copied, you can either implement a private copy constructor and a private assignment operator, or you can inherit the Uncopyable class.
The following example demonstrates how you can protect a picture from being copied:
...
};
int main(){
Picasso guernica;
Picasso copyOfGuernica = guernica;
Picasso anotherTryToCopyGuernica( guernica );
return 0;
}