64,646
社区成员
发帖
与我相关
我的任务
分享
template <typename T, template <typename, typename > class CONT >
template <typename T2, template <typename, typename > class CONT >
Stack <T, CONT >&
Stack <T, CONT >::operator= (Stack <T2, CONT > const &op2)
{
if( (void*)this == (void*)&op2 )
{
return *this;
}
Stack <T2, CONT > tmp(op2);
elems.clear();
while(!tmp.empty())
{
elems.push_back(tmp.top());
tmp.pop();
}
return *this;
}
template <typename T, template <typename, typename > class CONT >
template <typename T2,
template <typename ELEM2,typename = std::allocator <ELEM2 > >class CONT2 >
Stack <T, CONT >&
Stack <T, CONT >::operator= (const Stack <T2, CONT2> &op2)
{
if( (void*)this == (void*)&op2 )
{
return *this;
}
Stack <T2, CONT > tmp(op2);
elems.clear();
while(!tmp.empty())
{
elems.push_back(tmp.top());
tmp.pop();
}
return *this;
}