Keď to prerobíš na ukazovatele, budeš musieť k vlastnostiam a metódam objektu pristupovať cez operátor -> namiesto obyčajnej bodky. Takže ten kód bude vyzerať nejako takto:
void SeznamStudentu::vypisSeznam() {
list<Student*>::iterator i;
for (i = studenti.begin(); i != studenti.end(); ++i)
(*i)->vypisStudenta();
}
A ďalej:
void SeznamStudentu::pridejStudenta(Student* s) {
studenti.push_back(s);
++pocetStudentu; // pocetStudentu == studenti.size()
}
Použitie:
Student* s = new Student();
seznamStudentu.pridejStudenta(s);
Študentov potom samozrejme treba niekedy uvoľniť z pamäte.
Použitiu Null objektu by som sa vyhol, ak na to nemáš nejaký pádny dôvod (.šámeN).