Виртуальные функции не должны быть введены в итоговом классе
Виртуальные функции не должны быть введены в итоговом классе.
Объявление функции как virtual
указывает, что вы намереваетесь заменить функцию в производном классе с различной реализацией. Та же функция может затем взаимодействовать по-другому с различными классами иерархии. Когда вы явным образом задаете класс как final
, вы не можете вывести класс из него. Поскольку вы не можете вывести классы из final
класс, не вводите виртуальные функции в final
класс. Задайте все виртуальные функции в final
класс при помощи спецификатора final
.
Polyspace® отмечает объявление виртуальных функций в final
класс, которые объявляются с этими спецификаторами:
virtual
override
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Производные классы |
Категория: необходимый, автоматизированный |