Так как вы делаете это из метода дочернего класса
Animal::operator=(other);
Нет необходимости в this->
. Синтаксис разрешения контекста делает именно то, что было запрошено. Я не вижу смысла в том, чтобы делать это "косвенно" с использованием актеров.
Также обратите внимание, что выполнение этого с приведением может не привести к ожидаемому результату в общем случае, так как оно не отключит динамическое разрешение виртуального вызова метода. (И, кстати, оператор присваивания может быть объявлен виртуальным). Очевидным следствием этого является то, что при использовании виртуальных методов вариант «cast» может легко привести к бесконечной рекурсии.