我有一个链接列表,表示为
struct term{
double coef;
unsigned deg;
struct term * next;
};
然后我有一个多项式类
class Polynomial{
public:
Polynomial & operator+ (const Polynomial & ) const;
private:
term *ptr
我正在尝试做一个加法重载运算符,但我尝试的只是给了我中间多项式的一些随机部分。
Polynomial & Polynomial::operator+(const Polynomial & poly) const{
Polynomial p2 = *this;
term * temp = (*this).ptr;
while(temp->next != NULL){
temp = temp->next;
}
temp->next = poly.ptr;
return p2;
}
而且当我有 2 个多项式时,一个是另一个多项式的副本,然后又添加了一个项,然后当我尝试使用加法运算符时,第一个多项式更大,就像第二个多项式被添加到它一样。