Witam, napotkałem na pierwszy 'zgrzyt' w czasie nauki c++. Otóż w jednym zadaniu z książki jest takie info:
Co do odwiedzania kolejnych elementów listy i wykonywania operacji na tych elementach, to zwykle implementuje się to w postaci metody przyjmującej wskaźnik funkcji realizującej operację na elemencie:
void visit(void (*pf)(Item &))
Tutaj pf wskazuje funkcję (nie metodę), przyjmującą argument w postaci referencji do Item, gdzie Item jest typem elementów listy. Metoda
visitwywoła tę funkcję dla każdego elementu listy//.
Nie do końca rozumiem jak to interpretować.
Metoda odpowiada za kolejne przechodzenie przez elementy listy i wywoływanie na nich funkcji zewnętrznej?
Jeśli tak to dlaczego nie zrobić po prostu odpowiedniej metody do tych zmian, co daje ta funkcja zewnętrzna? Jedyne podejrzenie jakie mi się nasuwa to takie, że nie mamy dostępu do kodu klasy ale możemy napisać funkcję, która coś tam zrobi z tymi elementami, ale mogę gadać głupoty :p
Byłbym wdzięczny za wyjaśnienie albo jakiś mały przykład:)