需要友元的原因及使用

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

 

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

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

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

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

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

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

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

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

img_e00999465d1c2c1b02df587a3ec9c13d.jpg
微信公众号: 猿人谷
如果您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】
如果您希望与我交流互动,欢迎关注微信公众号
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

目录
相关文章
|
程序员 C++
29 C++ - 友元
29 C++ - 友元
53 0
|
6月前
|
C++
C++友元函数和友元类的使用
C++中的友元(friend)是一种机制,允许类或函数访问其他类的私有成员,以实现数据共享或特殊功能。友元分为两类:类友元和函数友元。类友元允许一个类访问另一个类的私有数据,而函数友元是非成员函数,可以直接访问类的私有成员。虽然提供了便利,但友元破坏了封装性,应谨慎使用。
108 9
|
8月前
|
C++
C++程序中的友元
C++程序中的友元
50 2
|
8月前
|
C++
【c++】友元
【c++】友元
【c++】友元
|
8月前
|
安全 C语言 C++
C++友元
C++友元
78 0
|
8月前
|
C++
【C++】类和对象(五)友元、内部类、匿名对象
【C++】类和对象(五)友元、内部类、匿名对象
|
8月前
|
C++
38友元
38友元
28 0
|
8月前
|
C++
C++类与对象【友元】
C++类与对象【友元】
|
C++
C++ 友元
C++ 友元
60 0

热门文章

最新文章