友元函式和友元類的區別


在本文中,我們將瞭解友元函式和友元類的區別。

友元函式

  • 它通常用於運算子過載操作。

  • 它與“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+ 瀏覽量

開啟你的職業生涯

透過完成課程獲取認證

開始
廣告
© . All rights reserved.