Rule of Three

If a class manages resources, it has a non-trivial destructor.

Rule of 3: If you have to manage how an object is destroyed, you should also manage how it is copied.


Also consider whether or not you need equality operator (design decision).