下面的代码是Polynomial类中的一个工作函数。该函数重载减号运算符以允许通过对象减去两个多项式方程。涉及函数setArray和getArray是因为用户输入了一个双精度数组来表示系数。
我理解运算符重载在没有* this的情况下如何在C ++中工作,但是我对在代码片段中使用* this完成重载的方式感到困惑。
将对象(多项式方程)设置为等于解除引用的指针是什么意思?
Polynomial Polynomial::operator-(int rval2) {
Polynomial equation = *this;
equation.setArray(equation.getArray() - rval2);
return equation;
}
根据我的理解,指针指向一个地址,可以反复重新分配一个新地址。取消引用指针允许访问当前地址的值。
答案 0 :(得分:0)
来自* this的赋值调用一个复制构造函数,然后修改该对象并返回该本地对象的副本。