Infatti ho notato che si creano un po' di problemi.
Allora ti posto le definizioni degli operatori all'interno di stack:
codice:
template<typename T>
bool stack<T>::operator==(stack<T> &nuovo)
{return this == &nuovo;}
template<typename T>
bool stack<T>::operator!=(stack<T> &nuovo)
{return this != &nuovo;}
Mentre il codice del metodo find è il seguente:
codice:
template <class T>
iterator<T> stack<T>::find(T const &d){
iterator<T> iter;
iter.pos=this->top;
T dato=((iter.pos)->getData());//get data è un metodo che semplicemente ritorna T dat
while((dato!=d) && ((iter.pos)!=this->tail)) {
++iter;
dato=((iter.pos)->getData());//
}
if(dato==d) return iter;
else{
iter.pos=NULL;
return iter;
}
};
Spero di aver messo tutto