友元这个概念涉及到3各方面——1、友元函数;2、友元类;3、友元成员函数。友元能够访问类的非public成分,是数据封装的一种破坏,这是我的一种理解。友元的存在是必要的,在特殊情况下是有特定的需求的,因为有时候仅仅靠成员函数是解决不了问题的。