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