Обрезка объектов (или object slicing) — это возможность присвоить объект класса-наследника экземпляру базового класса. Называется обрезкой, потому что часть информации исчезает (обрезается)
class Base {
int base_var;
};
class Derived: public Base {
int der_var;
};
int main () {
Derived der;
Base base = der;
}❗️В примере информация об переменной der_var исчезает и её уже никак не восстановить
❗️Для решение проблемы можно использовать указатель или ссылку, тогда новый объект не создаётся, а мы просто пользуемся наследником как базовым