Я только что наткнулся на утверждение в заголовке. Полная цитата:
Как правило, делайте все ваши методы виртуальными (включая деструктор, но не конструкторы), чтобы избежать проблем, связанных с пропуск виртуального ключевого слова.
Я нашел это в книге Wrox Professional C++. Вы можете проверить это в Google.
Есть ли в этом что-нибудь? Я бы подумал, что вы предоставите только избранные точки расширения, а не расширяемость по умолчанию. Например, статья Херба Саттера 2001 года говорит об этом. Изменилось ли что-нибудь кардинально с тех пор, чтобы сделать противоположное господствующей нормой? (Обратите внимание, что я новичок в C++, поэтому я не следил за обсуждением в течение последнего десятилетия.)