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