...
QVector
...
on
...
dynaamisesti
...
kasvava
...
vektori
...
ja
...
QVector
...
on
...
luokkamalli
...
...
.
...
Tämä
...
tarkoittaa
...
sitä,
...
vektoria
...
luotaessa
...
esimerkiksi
...
seuraavasti
...
QVector
...
<int>
...
dVektori;
...
kulmasulkeiden
...
sisällä
...
määrätään
...
vektorin
...
alkioiden
...
tyyppi
...
muttei
...
vektorin
...
kokoa(dynaamisuus).
...
Tyyppi
...
voi
...
olla
...
mikä
...
tahansa
...
C:n
...
tyyppi
...
tai
...
itse
...
tehty
...
luokka,
...
jolloin
...
vektori
...
muodostuu
...
osoittimista
...
ko.
...
luokan
...
olioihin.
...
Otsikkotiedostoon
...
tulee
...
lisää
Code Block |
---|
} #include <QVector> . . . QVector <double> dVektori;//otsikkotiedostossa ei voi alustaa vektorin kokoa EI esim. dVektori(10) QVector <int> iVektori; QVector <float> fVektori; QVector <OmaLuokka*> omaVektori;//olioista koostuva vektori on esiteltävä osoitteena luokkaan, koska olion koko saataa muuttua eikä niitä siten voi tallettaa peräkkäin muistiin . . . }; {code} |
Lasketellaan
...
vähän
...
vektoreilla
Code Block |
---|
} void Dialog::LaskeVektoreilla() { omaVektori.resize(10); } void Dialog::LaskeVektoreilla() { int i=0; double dApu; QString teksti=""; QString Apu; QVector <double> Apuvektori(10);//paikallisen vektorin koko voidaan määritellä alustuksessa dVektori.append(3.6778);//jäsenmuuttujana olevaan vektoriin lisätään jäseniä käskyllä append Apuvektori[0]=56.8;//paikalliseen, määrältään alustettuun vektoriin voidaan asettaa muuttujia indeksin avulla for(i=0; i<7; ++i) { dApu=(double) i; Apuvektori[i]=dApu; dVektori.append(dApu); Apu.sprintf("%.2lf %.2lf\n",Apuvektori[i], dVektori[i]); teksti+=Apu; } i=Apuvektori.count(); Apu.sprintf("%d ",i); teksti+=Apu; i=dVektori.count(); Apu.sprintf("%d ",i); teksti+=Apu; ui->textEdit->setText(teksti); } {code} |