Wiki Markup |
---|
QVector on dynaamisesti kasvava vektori ja QVector on luokkamalli [template|https://wiki.metropolia.fi/display/koneautomaatio/Luokkamalli+eli+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ää |
...
{code |
} #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 |
} 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} |