Salve a tutti,
per motivi di astrazione ho bisogno di trasformare queste due dichiarazioni
codice:
void inslista(tipoelem,posizione&);
void canclista(posizione &p);
In:
codice:
void inslista(tipoelem,posizione);
void canclista(posizione p);
Riferite al seguente codice (ovvio che bisogna adattare il codice alle dichiarazioni):
codice:
template <class A>
void ListaP<A>::inslista(tipoelem a, ListaP::posizione &p)
{
typename ListaP<A>::posizione temp;
temp = new Cella<A>;
temp->setElemento(a);
temp->setPrec(p->getPrec());
temp->setSucc(p);
(p->getPrec())->setSucc(temp);
p->setPrec(temp);
p=temp;
}
template <class A>
void ListaP<A>::canclista(ListaP::posizione &p)
{
typename ListaP<A>::posizione temp;
temp=p;
(p->getSucc())->setPrec(p->getPrec());
(p->getPrec())->setSucc(p->getSucc());
p=p->getSucc();
delete(temp);
}
Questo perchè ho creato una classe con delle funzioni su liste che deve funzionare su più tipi di realizzazioni che ha appunto, tra i metodi virtuali le dichiarazioni senza i puntatori.
Mi chiedevo quindi se c'era un modo di cambiare il codice di sopra, io non sono molto ferrato con i puntatori e sto impazzendo.
Vi ringrazio in anticipo,
Neptune.