Вызов вирт. метода из родительского деструктора
От: sanx  
Дата: 05.12.10 00:16
Оценка:
Как я понимаю такое невозможно (вот здесь читал http://easy-coding.blogspot.com/2009/09/blog-post.html). Но вот у меня такая задача:

class BaseClass
{
public:
~BaseClass() { Free(); }
void Free() { ЧТО-ТО_ОБЩЕЕ_ДЛЯ_ВСЕХ; FreeResource(); }
protected:
virtual void FreeResource() = 0;
};

Метод Free нужен публичный, он делает некоторые вещи (по освобождению ресурсов) общие для всех унаследованных классов, и плюс каждый класс должен не забыть реализовать метод освобождения специфических для него ресурсов FreeResource. Но понятно что в деструкторе будет вызываться чисто виртуально абстрактный метод базового класса (FreeResource() = 0). Как быть?
виртуальный метод деструктор
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.