1.友元函数
定义:友元是普通函数或其他类的成员函数,则称为友元函数。
普通函数声明为友元函数的形式:
friend <类型标识符><友元函数名>(参数表)
其它类的成员函数声明为友元函数的形式:
friend <类型标识符><类名>::<友元函数名>(参数表)
说明:
(1)友元函数的声明可以放在类声明中的任何位置。
(2)友元函数的定义一般放在类的外部,最好与类的其他成员定义放在一起,普通函数为友元也可以放在类内。
(3)友元函数不是本类的成员函数,都是它可以通过对象名(对象通过形参指定或在友元函数内定义)访问类的所有成员,包括私有和保护成员。
2.友元类
声明形式:
friend class <友元类名>
说明:
(1)友元类的声明可以在类声明中的任何位置。
(2)友元类的使用成员函数都成为友元函数。
(3)友元关系不能传递。
(4)友元关系是单向的。