[ fresh.bm @ 02.12.2008. 14:21 ] @
Kako da dinamicki alociran niz od nekoliko instanci klase?

Na primer,
Imam klasu skup.
Trebam korisniku omoguciti da izabere koliko ce skupova da kreira.
Ako unaprijed ne znam koliko ima skupova, kako da ih instanciram dinamicki u toku izvrsavanja programa?
[ karas @ 02.12.2008. 14:56 ] @
Code:

int n;
cin >> n;
Skup* niz = new Skup[n];

A mozes da koristis i neku klasu standardne biblioteke, npr. vector dozvoljava kasnije dodavanje novih elemenata preko push_back(). Neke druge klase isto to dozvoljavalju ali sa boljim performansama.
[ fresh.bm @ 03.12.2008. 09:15 ] @
Kako se pristupa pojedinom clanu tog novog niza?
Ako mi se niz sastoji od tri clana, kao da pristupim trecem?
[ karas @ 03.12.2008. 10:41 ] @
Isto kao i svakom drugom nizu, sa
Code:

niz[2]

Ovo je moguce cak iako si smestao objekte u vektor jer on preklapa operator [].
[ Linux_FreeBSD @ 04.12.2008. 14:41 ] @
mozes for petljom, koliko se sjecam ovako bi to islo ....
Code:

int lokacija;
cout<<"Kojem elementu niza zelite pristupiti?";
cin>>lokacija;
for(int i=0;i<max;i++)
{
if(i = lokacija)
cout<<"Vrijednost na lokaciji "<<lokacija<<"je: "<<niz[i]<<endl;
}

samo sto kad imas objekat tipa strukture/klase ispis elemenata (vrijednosti objekata) se vrsi pomocu funkcije clanice strukture/klase ili cak neke globalne funkcije (u rjetkim slucajevima), a ovaj pristup sto sam ja naveo je klasicni pristup elementima niza za tip int,float,double .... P.S. ako hoces vrijednost prvog elementa niza, unosis 0 kao lokaciju, zato sto prvi element ima lokaciju niz[0], drugi niz[1] itd ....