互为友元类

友元类不仅可以是单向的,而且可以是双向的。这意味着不仅类A可以是类B的友元,而且类B也可以是类A的友元,即互为友元类。这一般是考虑到两个类之间的互动关系。
C++ Primer Plus讲了个原则,即内联友元函数原型中用到友元类对象时一定要在相应类的声明式下边进行定义,因为只有这样这个函数才能知道那个类长成啥样,从而做相应的处理。非内联函数就不同了,因为它们包含了头文件,而头文件一定是写在最上面的。

你可能感兴趣的:(互为友元类)