https://1cpp.blogspot.com/2019/08/83-friend-function.html