
According to Stroustrup Friendship is neither inherited nor
transitive.
class A {
friend class B;}
class B {
friend class C;}
class C{
//C is not a friend of A, despite being a friend of a friend of A
}
class D: public B {
// D is not a friend of A, despite being derived from a friend of A
}