Example

class Base {
public:
~Point();

private:
int *field;
};


Solution
Always declare destructors in base classes virtual.

class Base {
public:
virtual  ~Point();

private:
int *field;
};