【C++】フレンド関数って何に使うの?
C++のフレンド関数って書籍にはよく出てくるのですが、実戦で使ったことはありませんでした。
フレンド関数とはなんなのかをまず説明しますと
「privateメンバを関数からアクセスできる機能」
になります(わかりにくい?)
具体的に書けば、
#include <iostream> class MyClass{ int a, b; public: MyClass(int i, int j){ a = i; b = j;} friend bool isFactor(MyClass obj); }; bool isFactor(MyClass obj){ return (obj.a % obj.b) == 0; } int main() { MyClass obj(9, 3); if(isFactor(obj)) std::cout << "割り切れる\n"; else std::cout << "割り切れない\n"; return 0; }
という事なんでしょうけど。
いや、普通にメンバ関数にすればいいのでは、と思ってしまうのですが、何かあるのかな…。