Seite 1 von 1

Schwierigkeiten mit QList

Verfasst: 23. Juli 2013 15:37
von marcel87
Hallo!

Ich möchte mehrere Instanzen einer Klasse in einer QList speichern. Meine Klasse sieht zunächst so aus:

Code: Alles auswählen

class Gegenstand
{
public:

    void Gegenstand::Herstellung(long int Zeit_Herstellung)//die Zeit wird mittels Zeitstempel ermittelt und in Sekunden angegeben 
    {
        Herstellungszeit = Zeit_Herstellung;
    }


    void Auslieferung(long int Zeit_Auslieferung)
    {
        Liegezeit = Zeit_Auslieferung - Zeit_Herstellung;
    }
};
(Später wird die Klasse um andere Member ergänzt.)

So schaffe ich Instanzen und speichere diese in einer QList:

Code: Alles auswählen

    Gegenstand* neuer_Gegenstand = new Gegenstand();// Die Klasse Gegenstand

    QList<Gegenstand*> meineListe;// Die QList mit dem Typ Gegenstand

    QList<Gegenstand*>::iterator Iter; // Iterator definieren



    for(int i=0; i<4; i++)
    {
        time_t now; //Zeitstempel
        time(&now);

       Gegenstand* neuer_Gegenstand = new Gegenstand();// Instanzierung

       Sleep(1000); //Hier soll eine Pause von 1 Sekunde entstehen!

       neuer_Gegenstand->Herstellung(now);//Hier schreibe ich den Zeitstempel rein

       meineListe.push_back(neuer_Gegenstand);// Die Instanzen werden in die Liste eingeschoben

    }
Mir ist bewusst, dass es unsauber geschrieben ist, aber ich komme nicht weiter. Ich möchte nun z.B. auf das 2. Element(Instanz) in der QList zugreifen und z.B. die Herstellungszeit abfragen (oder neu belegen). Aber ich weiß nicht wie. Hat vielleicht jemand eine Idee oder kennt jemand eine Seite die solch ein Problem behandelt?

Allgemeine Infos: Ich arbeite mit QT 5.0.1 und nutze die Doku http://qt-project.org/

Re: Schwierigkeiten mit QList

Verfasst: 23. Juli 2013 22:37
von Christian81
meineListe[2]->wieauchimmerDiFunktionHeisst()
Besser erstmal mit den C++ Grundlagen anfangen - ein C++-Buch hilft da ungemein. Eine Übersicht über die Qt Container gibt es hier: http://qt-project.org/doc/qt-5.0/qtcore/containers.html , über die STL-Container hier: http://www.cplusplus.com/reference/stl/

Re: Schwierigkeiten mit QList

Verfasst: 26. September 2013 14:05
von Mr.Crank
Tach....

wie Christian schon erwähnt hat , hier fehlen die c++ Basics. Allerdings möchte ich dir nicht nur das
sagen, was du vermutlich selber weißt.

Ich weiß zwar nicht wie der Rest deiner Klasse / Programm aussieht , aber wenn du eine Zeit ausgeben möchtest
musst du nicht nur eine Funktion schreiben in der du die Zeit setzt kannst, sondern auch ein Speicherplatz für sie bereit halten.
Sprich in deiner Klasse brauchst du ein long int Herstellungszeit + Liegezeit.

Desweiteren würde ich eine get-Funktion schreiben , z.B.
long int getManufactureTime ( int listPosition)
{
long int helpTime;
helpTime=meineListe[listPosition]->Herstellungszeit;
return helpTime;
}

Es geht immer sauber und schneller , aber so kannst du klar nachvollziehen wie sich deine Werte ergeben bzw. wie du sie
beziehst.

Gruß MrCrank

Re: Schwierigkeiten mit QList

Verfasst: 7. November 2013 11:47
von Hulk2442
nur so aus Neugier:
Was soll die Vorschleife machen?
Kannst du sie mir Zeile für Zeile erklären?