Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
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}