一.友元函数
如果申明为友元的一般函数或另一个类的成员函数,称为友元函数。友元函数是在类申明中用关键字
friend
修饰的非成员函数。
注意:友元函数可以是一个普通函数,也可以是另一个类的成员函数,但它不是本类的成员函数,然而,在它的函数体中可以通过对象名访问本类的私有和保护成员。
1.普通函数为友元函数
使用友元函数求两点间的距离:
结果如下:
2.另一个类的成员函数为友元函数
教师修改学生成绩:
结构如下:
二.友元类
同函数一样,在类的声明中可以声明另一个类为本类的友元,称为友元类。若A类是B类的友元类,则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员。
教师修改学生成绩:
结果如下: