演算子 + をオーバーロードした複素数のクラスを作成しましたが、すべて正常に動作しますが、これを非メンバー関数として実装する必要があり、その方法や利点がある理由がわかりません。
これが私のコードです.h:
class Complex
{
private:
double a;
double b;
public:
Complex();
Complex(double aGiven);
Complex(double aGiven, double bGiven);
double aGetValue();
double bGetValue();
double operator[](bool getB);
Complex add(Complex &secondRational);
Complex operator+(Complex &secondRational);
}
.cpp:
Complex Complex::add(Complex &secondRational)
{
double c = secondRational.aGetValue();
double d = secondRational.bGetValue();
double anew = a+c;
double bnew = b+d;
return Complex(anew,bnew);
}
Complex Complex::operator+(Complex &secondRational)
{
return add(secondRational);
}
これらを非メンバー関数として作成する方法についてのヘルプは大歓迎です!