Как я понимаю такое невозможно (вот здесь читал
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). Как быть?