const Polynomial operator +(const Polynomial lhs, const Polynomial rhs){
//lhs is 1
Polynomial result(lhs);
result+=rhs;
//when I add rhs to my result it also increments my lhs and lhs is now 3
cout<<"item: "<<rhs<<endl;
return result;
}
int size;
Monomial *polynome; // my polynome is an array of monomials
//p[0]= 2, p[1]=3x etc.
我正在使用默认的复制构造函数(我没有定义一个)也许这就是问题所在,因为我有一个指向我不知道的数组的指针。除非有必要,否则我宁愿不分享我的 += 运算符,因为它看起来工作正常,但实施得非常糟糕,需要 30 分钟来解释发生了什么。这让我发疯,有什么解决办法吗?
编辑:定义一个深拷贝构造函数解决了我的问题。非常感谢您的提示!