算术运算符重载C ++

时间:2014-11-14 17:34:33

标签: c++ overloading

我是C ++的新手,我正在尝试理解重载,以使我的算术运算符成功过载。这是不编译的代码。

ComplexNumber ComplexNumber::operator*(const ComplexNumber& rightOp) const
{
double newValue = realNumberValue * rightOp.realNumberValue;
return ComplexNumber(newValue);
}

3 个答案:

答案 0 :(得分:2)

return ComplexNumber(newValue);

没有ComplexNumber的构造函数只接受一个参数。

答案 1 :(得分:0)

您没有任何构造函数将一个值(double)作为参数
将其添加到您的实施文件中

ComplexNumber::ComplexNumber(double val)
{
double complexNumberValue = val;
double realNumberValue = 0;
}

这将解决问题,但你必须弄明白自己该如何处理逻辑部分

答案 2 :(得分:0)

您只有两个参数构造函数,但是您尝试调用单个参数构造函数。