Пример

class Base {
public:
~Point();

private:
int *field;
};


Решение
Всегда объявлять деструкторы базовых классов как виртуальные.

class Base {
public:
virtual  ~Point();

private:
int *field;
};