I have a pet project with which I experiment with new features of C++11. While I have experience with C, I\'m fairly new to C++. To train myself into best practices, (besides re
I agree with Jame's description, but would add
A virtual destructor is only required if you want to destroy an instance of that class virtually. This is not always the case, however if a base class is not intended to be destroyed virtually it should protect against it
So I would change
A destructor of a class that is intended for subclassing should always be virtual, IMHO.
this to be:
A destructor of a class that is intended for subclassing should always be virtual or protected.