Actually friend concepts came into c++ from friend in real world.
I am friend of you It does not mean my kids will be friend of u. So inheritance should not work.

If class A is friend of B, Class B is friend of C then it does not mean the A is frined of C. Just map it to
real world. So transitive does not work.

suppose i trust on you that you are my friend but it does not mean that he also consider me as a friend. So reciprocol does work in a friend.