Однажды столкнулся с утверждением (применительно к Windows), что если деструкторы в наследуемых классах не будут виртуальными, то при уничтожении объекта будут отрабатывать только деструкторы наследуемых классов, а базовые деструкторы остаются в пролёте. А если сделать деструктор наследуемого класса виртуальным (ну и базового наверное тоже), то будут отрабатывать _все_ деструкторы. Только что проверил это для линуха. Вроде без виртуальности всё работает. Когда я писал портабельный софт, то мне порекомендовали делать все деструкторы классов виртуальными. Объясните, пожалуйста, действительно ли это является истиной, или это чья-та ошибка??