见文末编辑
我试图重载 C++ 中的 + 运算符以允许我添加两个复数。(添加实数并添加虚数)。
这是我的重载函数:
ComplexNum operator+(ComplexNum x, ComplexNum y){
ComplexNum result;
result.real = (x.getReal() + y.getReal());
result.imag = (x.getImag() + y.getImag());
return result;
}
我的复数构造函数接受两个整数,并将第一个分配给 int real,第二个分配给 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 的实部)
编辑:我知道出了什么问题。我有 .getReal() 和 .getImage() 返回双倍。