if you have virtual functions, you must have a virtual destructor.. in fact you will get a compiler warning about it.