probleme mit list



  • horidooo

    ich habe ein problem mit einer liste. es ist mir nicht möglich, daten wieder aus der liste raus zu holen 😞

    zusätzlich will er meine absicht (

    cout<<iT.get_name()<<endl;
    

    ) nicht annehmen

    using namespace std;
    
    class test
    {
          private:
                  string name, age;
          public:
                  string get_name(){return name;};
                  string get_age(){return age;};
    
                  void set_name(string s){name = s;};
                  void set_age(string s){age = s;};
    };
    
    int main()
    {
        test t;
        list<test>T;
        list<test>::iterator iT;
    
        t.set_name("max");
        T.push_back(t);
        t.set_name("anton");
        T.push_back(t);
    
        for(iT = T.begin(); iT != T.end(); ++iT)
        {
               t = iT;
               cout<<iT.get_name()<<endl;
        }
        system("pause");
        return 0;
    }
    

    kann mir jemand sagen, wo mein denkfehler ist?



  • du brauchst keinen IT zu machen beim einfügen

    push_back ( fügt hinten automatisch ein )

    inhalt ausgeben

    du musst den IT hochzählen

    cout << bla bla
    meiniterator++;

    z.b.

    list<int>::iterator p = bla.begin();
    while( p != bla.end() )
    {
    // hui mach was
    p++;
    }



  • cout<<iT->get_name()<<endl;



  • tüddel schrieb:

    zusätzlich will er meine absicht (

    cout<<iT.get_name()<<endl;
    

    ) nicht annehmen

    Ein Iterator ist ein "verallgemeinerter" Zeiger:

    iT->get_name()



  • @newkid_

    hmm ok, der compiler schluckt es jetzt, aber ich bekomme jetzt 2 mal den selben (letzten) eintrag 😞



  • danke MFK jetzt geht es 🙂


Anmelden zum Antworten