Невиртуальные общедоступные или защищенные функции членства не должны быть переопределены в производных классах
Невиртуальные общедоступные или защищенные функции членства не должны быть переопределены в производных классах.
Когда невиртуальная общедоступная или защищенная функция членства переопределена в производном классе, новое определение в производном классе скрывает определение в базовом классе вместо того, чтобы заменить ее. Когда функции скрыты в производном классе, вы не можете реализовать общий интерфейс, чтобы обработать различные классы той же иерархии, приводящей к ненужной сложности и ошибке. Такое поведение может быть неожиданным и привести к ошибкам, которые затрудняют твердость.
Переопределения функций от частного наследования или функций, которые являются частными в базовом классе, не затронуты этим правилом.
Polyspace® переопределения флагов невиртуальных функций членства в производном классе. Polyspace не повышает этот дефект на деструкторах.
Чтобы выровнять по ширине переопределение, которое вы считаете как приемлемые, используйте аннотации. Смотрите Аннотируют Код и Скрывают Известные или Приемлемые результаты
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: производные классы |
Категория: необходимый, автоматизированный |