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

Я прохожу эту статьюhttp://www.gotw.ca/publications/mill18.htm Херб Саттер. Автор упоминает, что написание не виртуальных интерфейсов отделяет спецификацию интерфейса от «деталей реализации (а именно, внутренне настраиваемое поведение)»

// Example 1: A traditional base class.
//
class Widget
{
public:
  // Each of these functions might optionally be
  // pure virtual, and if so might or might not have
  // an implementation in Widget; see Item 27 in [1].
  //
  virtual int Process( Gadget& );
  virtual bool IsDone();
  // ...
};

Какую деталь реализации (или настраиваемое поведение) указывает приведенный выше пример? Я немного смущен тем, что не так с приведенным выше кодом, который требует от нас не виртуальных интерфейсов

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

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