まぁ多態しないならデストラクタを仮想関数にする必要ないってのはその通りで
shared_ptrなんかはダウンキャストしても正しいデストラクタが呼び出せるように
ポインタ自体がデストラクタを持ちまわってるし、知らなきゃ驚くようなことをしている



そんなことより、C++が雑多だっていうなら
筆頭は多重継承、ダイヤモンド継承だろ
だーれも使ってない機能、goto以上に誰も使わない、盲腸のような機能
ここから読み取れるのは、つまりは要らない機能は使わなければよい
ってのがC++の流儀であり習わし
今に始まったことではない、昔からそう