My - and + work fine,
Code:
bag operator +(const bag& b1, const bag& b2){
bag answer;
answer += b1;
answer += b2;
return answer;
}
bag operator -(const bag& b1, const bag& b2)
{
bag answer;
answer = b1;
answer -= b2;
return answer;
}
and also my += works correctly,
Code:
void bag::operator +=(const bag& addend)
{
node *copy_head_ptr;
node *copy_tail_ptr;
if (addend.many_nodes > 0)
{
list_copy(addend.head_ptr, copy_head_ptr, copy_tail_ptr);
copy_tail_ptr->set_link( head_ptr );
head_ptr = copy_head_ptr;
many_nodes += addend.many_nodes;
}
}