C++ 友元的作用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.友元的作用是什么?
友元提供了在不同类的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。通过友元,一个普通函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。C++中的友元为封装隐藏这堵不透明的墙开了一个小孔,外界可以通过这个小孔窥视内部的秘密。
友元的正确使用能提高程序的运行效率,但破坏了类的封装性和数据的隐蔽性,导致程序可维护性变差,因此一定要谨慎使用。
作为一种编程技术手段,友元为程序员提供了一种面向对象程序和面向过程程序相互衔接的接口。从根本上说面向对象的分析与设计方法并不能彻底解决现实世界中的一切需求。许多按照对象化设计的软件系统常常保留一些供早期程序访问的接口,来扩大自身功能,提高自己产品的竞争能力。友元较为实际的应用是第6章讲到的运算符重载,从而提高软件系统的灵活性。
2. 友元概念的引入虽然方便了类之间的数据共享,但是否削弱了对象的封装性?
C++中的友元为封装隐藏这堵不透明的墙开了一个小孔,外界可以通过这个小孔窥视内部的秘密。友元的正确使用能提高程序的运行效率,但破坏了类的封装性和数据的隐蔽性,导致程序可维护性变差,因此一定要谨慎使用。