Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » STL Iteratoren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.12.2006, 23:00 Uhr
fisch1983



Guten Abend,

irgendwas scheint mir bei der STL nicht ganz koscher, wenn ich mir dir Iteratroren anschau.

1.
angenommen ich möchte in einen Vector eine reihe von Objecten Speichern und sie stück für stück mit hilfe eines Iterators ausgeben, komme ich bei normalen objecten nicht zum ziel. Hier muss ich immer den umweg über eine for schleife gehen.


C++:
    vector<Test> v;
    char x;
    char buff[10];
    Test *t;
    //cout << "Enter positive integers, followed by 0:\n";
    //while (cin >> x, x != '0') v.push_back(x);
        for (int i=0;i<50;i++)
    {
        t = new Test();
        wsprintf(buff,"NR: %i",i);
        t->setInhalt(buff);
        v.push_back(*t);
    }


    for (int i=0;i<50;i++)
    {
        v.at(i).print();
    }



wärend jedes Beispiel ein Iterator verwendet und Ihn via


C++:
  for (i=v.begin(); i != v.end(); i++)
  {
    cout << (*i) << endl;
  }



zur ausgabe zwingt würde ich hier gerne aus meiner klasse die Mehtode Print() der klasse Test aufrufen *i.print() funktioniert aber nicht ;-(

auserdem verstehe ich nicht, warum ich die methode sort(...) bei einem Klassenvector der rein aus chars besteht nicht anwenden kann

thx

mod edit: BENUTZE DIE CPP TAGS SELBER

Dieser Post wurde am 12.12.2006 um 02:02 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.12.2006, 02:55 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Das muss so ausehen:

C++:
#include <iostream>
#include <vector>

class Foo
{
public:
    void out()
    {
        std::cout << "Test" << std::endl;
    }
};

int main(int argc,char* argv[])
{
    Foo blubb;
    Foo bar;
    std::vector<Foo> bla;
    bla.push_back(bar);
    bla.push_back(blubb);
    for(std::vector<Foo>::iterator iter = bla.begin(); iter != bla.end(); iter++)
    {
        (*iter).out();
    }
    std::cin.get();
    return EXIT_SUCCESS;
}

--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: