Pure virtual destructors in C++
eli.thegreenplace.net
eli.thegreenplace.net
Not a good way to start the article... I immediately question the author's credibility following this statement.
What he is saying is standard C++ knowledge.
What happens if you do have shared logic to put in the abstract base class's destructor? It can't be pure virtual, and you're back to being able to instantiate your 'abstract' base class...
Sure you can. Just put the word "Abstract" in the class name, and then every programmer who reads that class name will know that it's abstract. What more does one need?
That approach is much clearer than resorting to tricks like a pure virtual destructor. At the end of the day it's all about communicating design.