2005-08-18 「C++では、デストラクタは原則としてvirtualを付けて仮想関数にしておくこと。仮想でないデストラクタは継承できないことを意味する」との主張をよく目にすることがあります。今回は、組み込み環境でもそうした主張を鵜呑みにしてもよいかどうかについて、お話したいと思います。 確かに正攻法のオブジェクト指向プログラミングをやろうとすればその通りなのですが、仮想デストラクタというのはインスタンスを動的に生成することを前提としています。ご存知の通り、組み込みでは動的なメモリ管理は極力避ける傾向にありますから、ちょっと事情が違ってくるようです。 組み込みでは、ほとんどのクラスのインスタンスは、安易にnewで生成することはないと思います。newで生成することはあっても、どちらかといえば例外的な存在なのではないでしょうか?もしそうであれば、問答無用で仮想デストラクタを使用することは得