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