*这和C ++中的运算符重载

问题描述 投票:0回答:1

下面的代码是Polynomial类中的一个工作函数。该函数重载减号运算符以允许通过对象减去两个多项式方程。涉及函数setArray和getArray是因为用户输入了一个双精度数组来表示系数。

我理解运算符重载如何在没有* this的情况下在C ++中工作,但是我对在代码片段中使用* this完成重载的方式感到困惑。

将对象(多项式方程)设置为等于解除引用的指针是什么意思?

Polynomial Polynomial::operator-(int rval2) {
 Polynomial equation = *this;
 equation.setArray(equation.getArray() - rval2);
 return equation;
}

根据我的理解,指针指向一个地址,可以反复重新分配一个新地址。取消引用指针允许访问当前地址的值。

c++ operator-overloading this
1个回答
0
投票

来自* this的赋值调用复制构造函数,然后修改该对象并返回该本地对象的副本。

© www.soinside.com 2019 - 2024. All rights reserved.