#define foreach(Type, element, collection) \
        Iterator ____iter ## collection ## (collection);\
        Type ## * element ## =0;\
        for(element=dynamic_cast<Type*>(____iter ## collection ## .next()); element!=0; element ## =dynamic_cast< ## Type ## *>( ## ____iter ## collection ##.next()))


읭여읭여