С решением задачи вопросов нет. Но непонятно, как объясняется создание класса Apple внутри класса Hedgehog?