Да будет нарезка.
Нарезка всегда будет происходить всякий раз, когда вы пытаетесь поместить объект производного класса в любой из его базового класса. Эта нарезка станет видимой, если ваш производный класс добавил некоторые функциональные возможности, которые ваш базовый класс не предоставляет.
Помните, что это тот случай, когда вы не следуете принципам ООП. Директор говорит,
"When you are deriving from any class you should not change the interface.
The reason for inheritance is moving from generic to specific type, and not
providing new functionality."
И, если вы следуете этому принципу, то поведение нарезки можно определить как
“Moving from specific behaviour to more general behaviour”.
Разрезание по объектам указателя является временным, и вы можете привести указатель обратно к производному классу, чтобы получить исходное поведение. Нарезка через объект является постоянной.
NOTE:- Slicing always does not happen in case of private inheritance.
If you try to do so it will result in compilation error.
(For more information on private inheritance:-http://stackoverflow.com/questions/19075517/object-slicing-in-private-inheritance/19083420?noredirect=1#19083420)