Witam.
Mam problem z wywołaniem metody print klasy Person. Nie wiem w czym tkwi problem, siedziałem nad tym problemem sporo czasu, ale nigdzie nie mogłem znaleźć odpowiedzi. Dopiero zaczynam z STL-em i próbowałem napisać sobie prosty programik, ale niestety utknąłem w tym miejscu. Czy ktoś mógłby na to zerknąć i wytłumaczyć mi gdzie popełniam błąd? Z góry dziękuje za odpowiedź.
#include <iostream>
#include <list>
using namespace std;
class Person
{
string name;
int year;
public:
void print()
{
cout << name << "-" << year << endl;
}
Person(string n=" ", int r=1):name(n),year(r){}
};
void printPerson(list< Person*>& listt)
{
for ( list< Person*>::iterator it = listt.begin(); it != listt.end(); it++ )
(*it)->print();
}
void dod(list<Person*>& listt)
{
Person john ("John",25);
Person mary ("Mary",18);
Person sue ("Sue",9);
listt.push_back(&john);
listt.push_back(&mary);
listt.push_back(&sue);
}
int main()
{
list< Person*> listt;
dod(listt);
printPerson(listt);
return 0;
}