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