共用方式為


Friend 函式

A friend函式是不是類別的成員,但可以存取該類別的私用和受保護成員的函式。 Friend 函式不會被視為類別的成員; 它們是一般會提供特殊的存取權限的外部函式。 朋友不在該類別的範圍內,且都不使用呼叫它們的成員選取運算子 (. 和 –>) 除非它們是另一個類別的成員。 A friend授與存取權的類別所宣告的函式。 friend宣告可放在任何類別宣告中。 不受存取控制的關鍵字。

下列範例所示Point類別和 friend 函式中, ChangePrivate。 friend函式具有存取權的私用資料成員Point當做參數接收的物件。

範例

// friend_functions.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
class Point
{
    friend void ChangePrivate( Point & );
public:
    Point( void ) : m_i(0) {}
    void PrintPrivate( void ){cout << m_i << endl; }

private:
    int m_i;
};

void ChangePrivate ( Point &i ) { i.m_i++; }

int main()
{
   Point sPoint;
   sPoint.PrintPrivate();
   ChangePrivate(sPoint);
   sPoint.PrintPrivate();
}
  

請參閱

參考

friend (C++)