C ++: частные виртуальные функции против чистых виртуальных функций [дубликат]

Возможный дубликат:

Частный виртуальный метод в C ++

Если я правильно понял из этого поста (Частный виртуальный метод в C ++), создание виртуальной функции в базовом классе позволяет производным классам переопределять ее. Но, похоже, на этом все заканчивается.

Но если виртуальная функция базового класса чистая, это заставляет производные классы реализовывать функцию. Следовательно, чисто (публичная) виртуальная функция - это просто интерфейс. Я вижу выгоду здесь.

С другой стороны, делая закрытую виртуальную функцию базового класса, только дает производному классу возможность переопределить функцию, но я не вижу в этом никакой выгоды. Это'Как будто этой частной виртуальной функции даже нет. Производный класс, очевидно, не знает о существовании этой виртуальной функции в базовом классе, потому что она является закрытой, так есть ли какая-то польза от объявления частной функции базового класса виртуальной в терминах наследования или полиморфизма?

Кроме того, есть ли ситуация, когда базовый класс объявит функциючисто виртуальный а также 'частный'?

Спасибо.

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

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