友元函数和友元类

##友元关系介绍

类里面可以定义public、protected、private三种属性的成员,通过对象可以访问public成员,只有本类中的函数可以访问本类的private成员。

在C++里有一种特殊机制——友元(friend)。借助友元(friend),可以使得其他类中的成员函数以及全局范围内的函数访问当前类的private(私有)成员。

friend 的意思是朋友,与朋友的关系显然要比一般人亲密一些。在C++中,这种友好关系可以用 friend 关键字指明,中文多译为“友元”,借助友元可以访问与其有好友关系的类中的私有成员。

友元函数

在当前类以外定义的、不属于当前类的函数也可以在类中声明,但要在前面加friend 关键字,这样就构成了友元函数。友元函数可以是不属于任何类的非成员函数,也可以是其他类的成员函数。

友元函数可以访问当前类中的所有成员,包括 public、protected、private 属性的成员。

(1)、示例代码: 将非成员函数声明为友元函数。

#include <iostream>
using namespace std;