私は次のような分数クラスを持っています。
class Fraction
{
int num, den ;
public:
//member functions here
} ;
私はいくつかの本を読みましたが、「効果的なc ++」は、加算演算子を非メンバー関数としてオーバーロードする方が良いと思います。そこに与えられた理由は、それが可換加算を可能にするということでした。これは、加算演算子のオーバーロードされた関数のプロトタイプです。
Fraction operator + (const Fraction &obj, const int add_int) ;
ここで、私がそれを呼ぶとき、私はそれをこのようにしなければなりません。
f1 + 2 ;
しかし、それはこのようには機能しません。
2 + f1 ;
そのためには、関数を再度記述し、その中のパラメーターの順序を変更する必要があります。
関数を1回オーバーロードして可換加算を実行できる方法があるかどうか知りたいのですが。