polynode::polynode(const polynode &p)
{
int k = p.number;
poly temp,head,rear;
temp= (p.head)->link;
head = new polynomial;
head->link = NULL;
rear = head;
while (k--)
{
rear->link = new polynomial;
rear->link->coe = temp->coe;
rear->link->exp = temp->exp;
rear = rear->link;
temp = temp->link;
}
}
这里不对,poly temp,head,rear;你又定义了head和rear,所以操作的不是成员变量的head和rear,而是同名的局部变量。
导致temp = (p.head)->link;
这里head没有初始化