/***********************************************************************/
/* file slist_item.cc */
/* contains the implementation of class members of class */
/* slist_item. */
/***********************************************************************/
#include "slist_item.h"
/***********************************************************************/
/* implementation of class slist_item */
/***********************************************************************/
/***********************************************************************/
/* contructor */
/***********************************************************************/
template <class type>
slist_item<type>::slist_item(const type& dat):container_item<type>(dat)
{
next= NULL;
}
/***********************************************************************/
/* copy constructor */
/***********************************************************************/
template <class type>
slist_item<type>::slist_item(const slist_item<type>& it):
container_item<type>(it.data)
{
if (it.next)
{
next= new slist_item<type>(*it.next);
}
else
{
next= NULL;
}
}
/***********************************************************************/
/* public operator= */
/* copies all data members of the passed slist_item. */
/***********************************************************************/
template <class type>
const slist_item<type>& slist_item<type>::operator=
(const slist_item<type>& it)
{
this->data= it.data;
if (next)
{
delete next;
}
if (it.next)
{
next= new slist_item<type>(*it.next);
}
else
{
next= NULL;
}
return *this;
}
/***********************************************************************/
/* destructor */
/***********************************************************************/
template <class type>
slist_item<type>::~slist_item()
{
}