Почему имеет смысл дать определение чисто виртуальной функции?

Скотт сказал на Effective C ++, 3-е издание, стр. 43 что для создания абстрактного класса нам просто нужно дать ему чистый виртуальный деструктор:

class AWOV {                  // AWOV = "Abstract w/o Virtuals"
public:
  virtual ~AWOV() = 0;        // declare pure virtual destructor
};

Затем он сказал, что есть один поворот: мы должны дать определение чисто виртуальному деструктору:

AWOV::~AWOW() {}              // definition of pure virtual dtor

Мой вопрос, указав= 0для чисто виртуальных функций мы говорим, что функция не может иметь никакого определения для класса, где объявлена эта чисто виртуальная функция.

Почему нормально давать определение (даже пустое) для чистого виртуального деструктора?

Ответы на вопрос(5)

Ваш ответ на вопрос