朋友功能和朋友类有什么区别?

时间:2010-09-25 08:37:42

标签: c++ class function friend

朋友功能和朋友类有什么区别?应该在哪里使用friend关键字?

5 个答案:

答案 0 :(得分:11)

简而言之,一个是一个类,一个是函数。对于该功能,只需要一个功能就可以访问私有成员。对于一个类,整个类及其所有函数都可以访问友好类的私有成员。

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

查看this site以获取有关这两者及其使用方法的详细说明。

答案 1 :(得分:1)

朋友功能

  1. friend关键字用于声明。
  2. 在编写函数定义时,不需要friend关键字。
  3. 通过友方函数,我们可以允许外部函数访问类成员。
  4. 朋友班

    1. 对于朋友类的声明,使用friend关键字:friend class a;
    2. 在编写课程时,不需要friend关键字。
    3. 使用friend课程,我们可以将一个班级的成员访问另一个班级。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

1)Friends函数用于访问类的私有数据变量,其中使用成员函数访问同一类的私有数据变量。

2)你可以在没有任何对象的情况下调用main函数中的friends函数,但是调用类u的成员函数只需要创建同类的对象。

3)朋友的功能可以被视为非成员函数,但成员函数不被视为类的非成员函数。 enter link description here

答案 4 :(得分:0)

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

这意味着,如果将某个类声明为朋友,则它可以访问将该类声明为朋友的所有数据成员(私有和公共)。

我已经在我的博客中的“示例”中解释了它们之间的区别:Difference between friend function and friend class