В обоих случаях будет выделено не менее sizeof(Animal)
байтов.
В случае выделения стека для выравнивания может использоваться некоторая дополнительная память.В случае кучи памяти некоторая дополнительная память, вероятно, будет использоваться для хранения данных службы кучи.Вы можете влиять на точный объем памяти, изменяя класс - например, для выделения кучи вы можете определить пользовательский operator new
для этого класса и сделать так, чтобы он выделял необходимый объем памяти.