> イテレータを入れてませんが実際には使ってます。
イテレータって何のことを言ってるかわかってるのか?

で、
ABC* lp;
do{ ABC& current = *lp; lp = lp->next; current.func(); } while( );