我试图在我的程序中重载 += 运算符。它由一个多项式类组成,该类包括一个 int 次数(多项式的最高次数)和一个 Node* Poly(指向节点的指针)
struct Node{ int coefficient;
Node* next; };
那是我的节点结构,虽然我在多项式类中重载。
Polynomial& Polynomial::operator +=(const Polynomial& rP){
Polynomial copyRP(rP);
poly->coefficient = poly->coefficient + copyRP.poly->coefficient;
poly = poly->next; //if I take this and
copyRP.poly = copyRP.poly->next; //this away, it runs fine
//with it however the program compiles but doesnt work
return *this;
}
该节点包含向后的系数列表,如果这很重要的话。例如 3x^2+2x+5 在节点中存储为 5->2->3 并且度数为 2。