为什么会有友元函数
C++控制对类对象私有部分的访问,通常,公有类是提供唯一的访问途径,但是有时候这种限制太严格了,以至于不适应特定的编程,在这种情况下,C++提供了另外一种形式的访问权限:友元
友元的定义
友元有三种
- 友元函数
- 友元类
- 友元成员函数
通过让函数拥有类的友元,可以赋予该函数与类的成员函数相同的访问权限,这里我们主要讲的是友元函数
怎么使用友元函数
- 把该函数原型放到类声明中,并在原型声明前加上关键字
friend
class Time{ public: friend Time add(double m,const Time & t); } //这个函数定义在类的外面 Time add(double m, const Time & t) { …… }
这样add函数就可以访问Time
类里面的内部变量了。