複数のクラスの中身をのぞくことができる。 クラス宣言内で(アクセス指定子はどこでもいい)friend修飾を付ける。
フレンド関数 class Hoge { ... friend void func( Hoge &obj ); ... }
フレンドクラス class Friend; // 前方宣言が必要 class Hoge { ... friend class Friend; ... private: int himitsu; }; class Friend { public: int func(Hoge& obj) }; int main() { ... Hoge hoge; Friend friend; friend.func( hoge ); ... }
内部クラスをフレンドクラスにする
フレンドクラスを継承したものはフレンドではない!!!