友元函数的特性
1. 不属于类的成员函数,不能通过类对象.函数名()调用,仅作为普通函数直接调用。
2. 无this指针,若要访问类成员,必须显式传入类对象(对象/对象指针/引用)。
3. 声明位置灵活,可写在类的public/protected/private任意区域,不影响其友元权限。
4. 类外定义时,绝对不能加friend关键字,加了会编译报错。
5. 友元关系单向:若A授权F为友元,F能访问A的私有成员,但F不能反向授权A,A也不能访问F的私有成员(若F是类)。
6. 友元关系不可传递:若A是B的友元,B是C的友元,A无法直接访问C的私有成员。
7. 友元关系不可继承:基类的友元,不会自动成为派生类的友元,需派生类单独授权。

