Great video, thanks a lot!
One question about slicing: You suggest forbidding any assignment operator and copy constructor in the polymorphic base class. However, how would you in that situation implement the derived class's copy constructor and assignment operator?
I was always under the impression that slicing was precisely required to say
Base::operator=(rhs); in the derived implementations.