次の方法で共有


フレンド関数

friend の関数はクラスのメンバーがクラスのプライベート メンバーとプロテクト メンバーにアクセスできます。関数フレンド関数はクラス メンバーとは見なされません ; これらは特殊なアクセス特権操作は通常の外部関数です。Friends はクラスのスコープ内にないしメンバー選択演算子を使用した呼び出しが – (および他のクラスのメンバーである >)。friend の関数はアクセスを及ぼしているクラスで宣言されています。friend の宣言はクラスの宣言内の任意の場所に配置できます。これはアクセス制御のキーワードによる影響を受けません。

次の例では Point のクラスとフレンド関数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();
}
  

参照

関連項目

フレンド (C++)