为啥只有 C++ 存在友元函数

【为啥只有 C++ 存在友元函数】 .net有对整个exe/dll友元的语法,都一样

■网友
C++的friend就是java的默认访问性,C#的internal,只是功能比C++弱了点

■网友
因为 C++ 又没有 C# 的 internal,又没有 Java 的 package-private,也没有 Jigsaw,更没有 Scala 的细粒度访问控制,所以才用友元实现类似的功能
■网友
因为“友元”是 C++ 专有的概念,所以......
其他的语言换了种概念。
友元提供的功能是:给予一个外部的类访问自身类的所有成员的权限。
这是不是相当于Java 的包和缺省成员权限两个概念的结合体?


■网友
因为C++欠缺包的概念,于是没法提供包内级别的访问控制,于是只能采用friend这种放弃治疗的补丁。

■网友
c++不就主要是面向对象,封装起来,为什么还要搞个友元,(可能我没学到深处,勿见怪 )


    推荐阅读