最後に編集を参照してください
C++ で + 演算子をオーバーロードして、2 つの複素数を加算できるようにしようとしています。(実数を足して虚数を足す)。
ここに私のオーバーロードされた関数があります:
ComplexNum operator+(ComplexNum x, ComplexNum y){
ComplexNum result;
result.real = (x.getReal() + y.getReal());
result.imag = (x.getImag() + y.getImag());
return result;
}
私の複素数コンストラクターは 2 つの int を取り、1 つ目を int real に、2 つ目を int imag に割り当てます。
それらを追加しようとすると:
ComplexNum num1 = ComplexNum(1,1);
ComplexNum num2 = ComplexNum(2,3);
ComplexNum num3;
num3 = num1 + num2;
printf("%d",num3.getReal());
結果として 0 を取得します。結果は 3 になるはずです (num1 と num2 の実部を加算)
編集:何が間違っているのか分かりました。double を返す .getReal() と .getImage() がありました。