friend 友元函数
典型的面向对象程序设计规定只有成员函数才能访问类中的私有数据成员,这才能保证数据封装性和信息隐蔽性。但是,在某些情况下我们需要定义在类外部但可以访问私有数据成员的友元函数。
友元函数的使用及其访问权遵守下列规则:
1.友元函数应在类中通过前置关键字friend说明,而其实际实现放在类外部。友元函数的实现与普通的C++函数相同,也不是类的成员。
2.关键字friend只在类内部的函数说明中使用,而在函数实现时不用。
3.友元函数可访问类的私有成员。
4.友元函数只能通过参数传递的对象访问类的成员,它用操作符“.”来访问数据成员。
5.为将单目运算符以友元函数重载,只需将操作数作为一个参数传递;当双目运算符以友元函数重载时,将两个操作数都作为参数。