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