>>492
オブジェクトに余分なデータが付加されるから。
パフォーマンスが必要で、そこがボトルネックになってる
という、非常に特殊な状況では仮想にしない方が好ましい。
それから、メモリの配置が変わるから、他言語と
データ構造を共有するときには注意が必要。
どちらの場合も、すでに仮想関数を持っている場合は無意味だから、
この場合は無条件に仮想デストラクタにするべき。

でも、基本的には
「デストラクタを仮想関数として宣言するのは、なかなかよいアイデア
であることが多い」byストラウストラップ
ってことだ。
問題になるのはかなり上級の域だろうから、初心者なら
「すべてのデストラクタを仮想関数に」で問題ない。