1.友元函数声明、定义位置
- 在类中声明的友元函数与类在同一个命名空间内,而不是在类里面;
就像同一目录下的两个文件,是兄弟关系,而不是包含关系。 - 友元声明只能出现在类定义的内部,具体位置不限,也不受所在区域访问级别的限制。
- 友元可以定义在类内部,这是隐式内联的。
2.友元函数的注意点
(1) 友元关系不能被继承。
(2) 友元关系是单向的,不具有交换性。若类B是类A的友元,类A不一定是类B的友元,要看在类中是否有相应的声明。
(3) 友元关系不具有传递性。若类B是类A的友元,类C是B的友元,类C不一定是类A的友元。