Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

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ää

Code Block
#ifndef DIALOG_H
#define DIALOG
#include <QtGui/QDialog>
#include <QVector>

namespace Ui
{
    class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT
public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
private:
    Ui::Dialog *ui;
    QVector <double> dVektori;//otsikkotiedostossa ei voi alustaa vektorin kokoa EI esim. dVektori(10)
private slots:
    void LaskeVektoreilla();
    void LinkitettyLista();
};

#endif // DIALOG_H#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

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);
}