Cześć wszystkim!
Mam następujący problem: nie potrafię odwołać się do składowej obiektu będącego dowolnym elementem listy (standardowa lista dwukierunkowa z biblioteki <list>). Krótko mówiąc, tworzę listę wskaźników klasy "krawedz" (gdyż każdy obiekt musi być alokowany dynamicznie), następnie dynamicznie tworzę w niej obiekty tejże klasy i dalej nie wiem w jaki sposób mogę uzyskać dostęp do składowych tych obiektów.
#include <list>
#include <iostream>
using namespace std;
class krawedz
{
public:
int A;
int B;
krawedz(int, int);
};
krawedz::krawedz(int wierz1, int wierz2)
{
A=wierz1;
B=wierz2;
}
int main()
{
list<krawedz*>lista_krawedzi;
lista_krawedzi.push_back(new krawedz(12,14));
lista_krawedzi.push_back(new krawedz(13,15));
list<krawedz*>::iterator iter=lista_krawedzi.begin();
cout << "Pierwszy element listy: skladowa A=" << lista_krawedzi.front()->A << endl;
cout << "Drugi element listy: skladowa A=" << (lista_krawedzi.front()+1)->A << endl;
cout << "Wyswietlanie pierwszego elementu za pomoca iteratora: skladowa A=" << iter->A;
return 0;
}
Właściwie, do tej pory udało mi się "dobić" do składowych obiektu będącego pierwszym elementem, korzystając z referencji z funkcji "front()". Jak odczytać drugi element listy, a właściwie zmienne składowe obiektu, który tam jest? Oczywiście poza użyciem funkcji back() ;) I drugie pytanie: jak mogę to zrealizować za pomocą iteratora? Za wszelką pomoc z góry dziękuję.