имхо, не хватает виртуального деструктора.