C++ friend函数和friend类之间有什么区别?

C++ friend函数和friend类之间有什么区别?,c++,class,function,friend,C++,Class,Function,Friend,friend函数和friend类之间有什么区别?那么friend关键字应该在哪里使用呢?简而言之,一个是类,一个是函数。对于函数,只有一个函数可以访问私有成员。对于一个类,整个类及其所有函数都可以访问befriended类的私有成员 friend关键字用于授予对私有数据成员的访问权限。有时,您可能需要助手类或免费类来访问其他类的私人成员。对于函数,常见的示例是运算符重载。也许您想重载+运算符。您可以在类之外声明运算符+函数(因此可以在没有对象的情况下调用它),并且需要访问私有类数据 查看这两种功

friend函数和friend类之间有什么区别?那么friend关键字应该在哪里使用呢?

简而言之,一个是类,一个是函数。对于函数,只有一个函数可以访问私有成员。对于一个类,整个类及其所有函数都可以访问befriended类的私有成员

friend关键字用于授予对私有数据成员的访问权限。有时,您可能需要助手类或免费类来访问其他类的私人成员。对于函数,常见的示例是运算符重载。也许您想重载+运算符。您可以在类之外声明运算符+函数(因此可以在没有对象的情况下调用它),并且需要访问私有类数据

查看这两种功能的详细说明以及如何使用它们。

Friend函数
  • friend
    关键字用于声明
  • 编写函数定义时,不需要
    friend
    关键字
  • 通过友元函数,我们可以允许外部函数访问类成员
  • 朋友班
  • 对于好友类的声明,使用
    friend
    关键字:
    friend class a
  • 编写类时,不需要
    friend
    关键字
  • 使用
    友人
    类,我们可以将一个类的成员访问到另一个类
  • 1) Friends函数用于访问类的私有数据变量,member函数用于访问同一类的私有数据变量

    2) 你可以调用main函数中的friends函数而不需要任何对象,但要调用类u的成员函数,只需要创建同一类的对象


    3) friends函数可以视为非成员函数,但成员函数不能视为类的非成员函数。

    friend函数用于访问类的非公共成员。类可以通过使非成员函数和其他类成为朋友来允许它们访问自己的私有数据
    Friend类可以完全访问另一个类的私有数据成员,而不是该类的成员。

    Friend关键字也可以与函数和类一起使用

    这意味着,如果一个类被声明为友元,它可以访问已将其声明为友元的类的所有数据成员(private和public)


    我已经在我的博客中用例子解释了它们之间的区别:

    @DumbCoder:这是一个很好的相关问题,但不是一个真正的傻瓜。(我知道你没有指责这是一个骗局,但无论如何我写这篇评论是为了防止其他人跳到结论上来。)
    +1
    感谢你找到了比第一句话更多的话要说。在那件事上我会彻底失败的。