Of course, in this case the compiler generated versions will work correctly, so as Daved pointed out it may be best not to write any of the three to begin with.if a class requires a custom copy constructor, overloaded = operator or destructor, it generally needs all three.