QVector on dynaamisesti kasvava vektori ja QVector on luokkamalli template. 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ää
#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 . . . };
Lasketellaan vähän vektoreilla
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); }