博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
需要友元的原因及使用
阅读量:7121 次
发布时间:2019-06-28

本文共 571 字,大约阅读时间需要 1 分钟。

有时候,普通函数需要直接访问一个类的保护或私有数据成员。如果没有友元机制,则只能将类的数据成员声明为公共的,从而,任何函数都可以无约束的访问它。

普通函数需要直接访问类的保护或私有数据成员的原因主要是为提高效率。

在类里声明一个普通函数,标上关键字friend,就成了该类的友元,可以访问该类的一切成员。

需要友元的另一个原因是为了方便重载操作符的使用。

友元函数不是成员函数,它是类的朋友,因而能够访问类的全部成员。在类的内部,只能声明它的函数原型,加上friend关键字。友元声明的位置可以在类的任何部位,既可在public区,也可在protected区,意义完全一样。友元函数定义则在类的外部,一般与类的成员函数定义放在一起。因为类重用时,一般友元是一起提供的。

一个类的成员函数可以使另一个类的友元。

整个类可以是另一个类的友元,该友元成为友类。友类的每个成员函数都可访问另一个类中的保护或私有数据成员。

友元的作用主要是为了提高效率和方便编程。但随着硬件性能的提高,友元的这点作用是微不足道的。相反,友元破坏了类的整体操作性,也破坏了类的封装,所以在使用时,要权衡利弊。

本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/p/3293286.html,如需转载请自行联系原作者

你可能感兴趣的文章
IOS 本地通知
查看>>
文本处理三剑客
查看>>
PPT制作到底是要实用还是好看?
查看>>
ng build --base-href的设定问题
查看>>
apache不解析php文件遍历目录
查看>>
bzoj3399[Usaco2009 Mar]Sand Castle城堡*
查看>>
bzoj2442[Usaco2011 Open]修剪草坪*
查看>>
Android Glide详细使用教程
查看>>
地图定位问题汇总
查看>>
android 检测网络是否可用
查看>>
git解惑-----git使用场景
查看>>
正则表达式匹配多个字符串中的一个
查看>>
C#实例:5个.net经典例子(窗体与界面设计)
查看>>
css的理解 ----footrt固定在底部
查看>>
angular之$watch方法详解
查看>>
OpenCV中Mat的列向量归一化
查看>>
Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
查看>>
提升编程能力的11个技巧
查看>>
Windows Server 2008 各版本功能差异与比较各版本概观--转载
查看>>
一套最全的JavaScript 语言基础知识点总结(思维导图10张)
查看>>