А есть вообще такая вещь, как дружественный метод в C++? Я вот
тут что-то не вижу такого варианта.
Вот дружественные функции там есть, да.
И в вашем коде компилятор видит, что есть какая-то функция TakeApple в namespace Human. Метод класса Human он тут не замечает вообще. Ну и там, понятное дело, нет никакого доступа к приватным членам класса Apple.
Вам надо или помечать дружественным весь класс Human, или выносить ваш код в отдельную функцию, которая будет дружественная обоим классам.