C フレンド メカニズムでは、次の目的を達成するために、非メンバー関数またはクラスが他のクラスのプライベート メンバーまたは保護されたメンバーにアクセスできるようになります。 非メンバー関数によるプライベート メンバーへのアクセスを許可する メンバー関数による他のクラスのプライベート メンバーへのアクセスを許可する クラスを許可する別のクラスにアクセスするためのメンバー関数 クラスのプライベート メンバー
# C 関数のフレンド メカニズムの詳細な説明
フレンド メカニズム関数またはクラスが、クラスまたは関数のプライベートまたは保護されたメンバーの他の特性にアクセスできるようにするメソッドです。 C では、フレンド メカニズムは次の目的を達成できます。
構文
グローバル関数フレンド宣言: #
friend 返回值类型 函数名(参数列表);
クラスのフレンド宣言:
friend class 类名;
クラスのメンバー関数のフレンド宣言:
friend 返回值类型 类名::成员函数名(参数列表);
実践例:
問題: プライベート メンバー x と
を持つ Point
クラスを設計するy 、すべてのプライベート メンバーを出力する
print() 関数があります。ここで、
Point クラスのプライベート メンバーにアクセスし、それらを出力できる追加の
printInfo() 関数が必要になります。
実装:
// Point 类 class Point { private: int x; int y; public: // 友元函数,可以访问 Point 类的私有成员 friend void printInfo(Point& point); // Point 类的成员函数 void print() { std::cout << "x: " << x << ", y: " << y << std::endl; } }; // 全局友元函数,可以访问 Point 类的私有成员 void printInfo(Point& point) { std::cout << "x: " << point.x << ", y: " << point.y << std::endl; } int main() { Point point{10, 20}; point.print(); // 输出:x: 10, y: 20 printInfo(point); // 输出:x: 10, y: 20 return 0; }
以上がC++関数のフレンド機構を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。