Does the same thing the destructor ~Path() does:
Calls delete() on the pointers to Points on points,
clears points and connectors, deletes draw_color
and fill_color, if they point to Colors that were
allocated on the free store, and sets them to 0.
clear() is a pure virtual function in class Shape,
so Path must be have a clear() function.
It is needed, because it is sometimes called through a
pointer to Shape, so that ~Path() cannot be accessed.
At least, so far I haven't found a way to call a destructor through the
virtual function facility.
|