朋友功能和朋友班级之间的区别
内容
Friend函数和friend类是用于通过使用friend关键字访问类的私有成员的技术。朋友功能和朋友类之间的共同区别是,当使用朋友功能时,可以访问私有类成员,但在朋友类中,只能访问朋友类的名称,而不能访问类的私有成员。
的 朋友功能 函数或类使用它是否会对面向对象的框架产生负面影响,因为它削弱了 封装 这是对的 面向对象 范例。这就是必须明智使用朋友功能的原因,否则可能 打破 的 资料隐藏 代码。
此朋友功能既不是 可交换的 而且也不 及物。 X是Y的朋友并不能推断Y也是X的朋友。如果X是Y的朋友而Y是Z的朋友,则并不意味着X是Z的朋友。
-
- 比较表
- 定义
- 关键差异
- 结论
比较表
比较依据 | 朋友功能 | 朋友班 |
---|---|---|
基本的 | 它是一个与friend关键字一起使用的函数,用于授予非成员函数对类的私有成员的访问权限。 | 它是一个与friend关键字一起使用的类,用于访问另一个类的私有成员。 |
提前申报 | 必须使用。 | 不是强制性的。 |
采用 | 朋友功能可用于某些操作员重载的情况。 | 当在另一个类的顶部创建一个类时,可以使用一个朋友类。 |
朋友功能的定义
的 朋友功能 用于通过允许非成员函数获得访问权限来访问类的私有成员和受保护成员。在这种类型的函数中,在声明时,在函数名称之前使用friend关键字。对朋友功能有一些限制条件。第一个条件是,朋友功能不会被子类继承。第二个条件是在朋友函数中可能不存在存储类说明符,这意味着不能将其声明为static和extern。
不会通过类的调用对象来调用friend函数。朋友函数的示例包括:全局函数,类的成员函数,函数模板可以是朋友函数。让我们借助示例来了解它。
#包括 当一个函数需要访问两个或多个独立的类(内部成员)时,需要一个friend函数。另一方面,当一个类需要访问另一个类的成员时,则需要一个朋友类。当多个成员函数需要成为该函数的朋友时,在这种情况下,最好使用Friends类。
结论