c++03
The Rule of Three states that if a type ever needs to have a user-defined copy constructor, copy assignment operator, or destructor, then it must have all three.
The reason for the rule is that a class which needs any of the three manages some resource (file handles, dynamically allocated me...