友元函数和友元类的区别


在本文中,我们将了解友元函数和友元类的区别。

友元函数

  • 它通常用于操作符重载操作。

  • 它与“friend”关键字一起使用。

  • 它能让非成员函数访问类的私有成员。

  • 它必须在使用前声明。

  • 它用于访问类的私有和受保护成员。

  • 它可以是全局函数或另一个类中的函数。

示例

class Node
{
   private:
   int val;
   Node* next;

   // Other members of Node Class //
   friend int LinkedList::search();
   // Only search method of linkedList
   // can be used to access the internal members
};

友元类

  • 它是一个与“friend”关键字一起使用的类。

  • 在使用之前无需声明。

  • 当一个类被创建为从另一个基类继承的类时,使用友元类。

  • 它用于访问类的私有和受保护成员。

示例

class Node
{
   private:
   int val;
   Node* next;
   /* Other members of Class */

   // The class can access private members of
   //Node friend class LinkedList;
};

更新于: 2021-03-23

5K+ 浏览量

开启你的职业生涯

通过完成课程获取认证

开始
广告