template<class ElemType>
LinkStack<ElemType>::LinkStack(constLinkStack<ElemType>&copy)
{
if(copy.Empty())
{
Init();
}
else
{
top=new Node<ElemType>(copy.top->data);//生成当前栈顶
Node<ElemType>*buttomPtr=top;//当前栈底指针   这个为什么把栈顶赋值给了那个栈底啊?我不明白!!
下面这一部分他是把老的栈的数据传给那个新栈吗?为什么是栈底呢??
for(Node<ElemType>*temPtr=copy.top->next;temPtr!=NULL;temPtr=temPtr->next)
{
buttomPtr->next=new Node<ElemType>(temPtr->data);
buttomPtr=buttomPtr->next;
}
}
}这是个链式栈的复制构造函数啊!
就是有些不懂啊!
麻烦哪位大虾帮忙解释一下啊!
越详细越好!
谢谢啦!