C++学习之友元函数

2014-11-24 14:21:31 · 作者: · 浏览: 3

为什么要引入友元函数?


因为我们不能在类的外部访问类的私有变量。


传统的访问方法:



引入友元函数之后:




两个函数运行结果完全一样。


对于使用友元:


(1)声明的位置既可在public区,也可在protected区。友元函数虽然是在类内进行声明,但它不是该类的成员函数,不属于任何类。
(2)在类外定义友元函数,与普通函数的定义一样,一般与类的成员函数放在一起,以便类重用时,一起提供其友元函数。
(3) 友元函数是能访问类的所有成员的普通函数,一个函数可以是多个类的友元函数,只需在各个类中分别声明。
(4)友元能使程序精炼,提高程序的效率。
(5)友元破坏了类的封装,使用时,要权衡利弊,在数据共享与信息隐藏之间选择一个平衡点。