Pozdrav!
Htio bi napraviti duboku kopiju konstruktorom kopije jednostruko vezane liste npr. za sljedeći kod:
Pa ako netko zna,
#include<iostream>
using namespace std;
class Racunala
{
private:
int invBroj;
public:
Racunala(int broj);
int GetInvBroj() {return invBroj;}
Racunala* pokSljedeci;
~Racunala() {}
};
Racunala::Racunala(int broj)
{
invBroj = broj;
pokSljedeci = NULL;
}
int main()
{
Racunala* glavaListe = NULL;
Racunala* repListe = NULL;
int brojRacunala;
cout<< "Unesi broj racunala: ";
cin>> brojRacunala;
if(brojRacunala > 0)
{
for(int i=0; i<brojRacunala; i++)
{
Racunala* novoRacunalo = new Racunala(i+1);
if(glavaListe == NULL)
{
glavaListe = novoRacunalo;
repListe = novoRacunalo;
}
else
{
repListe->pokSljedeci = novoRacunalo;
repListe = novoRacunalo;
}
}
}
repListe = glavaListe;
while(repListe)
{
cout<< "Racunalo inventurni broj: " << repListe->GetInvBroj() << endl;
repListe = repListe->pokSljedeci;
}
repListe = glavaListe;
while(repListe)
{
Racunala* obrisi = repListe;
repListe = repListe->pokSljedeci;
delete obrisi;
}
glavaListe = NULL;
return 0;
}