ВСЕ виртуальные функции должны быть реализованы в производных классах?

Это может показаться простым вопросом, но я не могу найти ответ где-либо еще.

Предположим, у меня есть следующее:

class Abstract {
public:
    virtual void foo() = 0;
    virtual void bar();
}

class Derived : Abstract {
public:
    virtual void foo();
}

Это нормально, что класс Derived не реализует функцию bar ()? Что, если не ВСЕ мои производные классы нуждаются в функции bar (), но некоторые делают это. Все ли виртуальные функции абстрактного базового класса должны быть реализованы в производных классах или только те, которые являются чисто виртуальными? Спасибо

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

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