だから、なんで、
class fileout{
fileout(const string &filename)
operator ()( T hoge )
}
for_each( a.begin(), a.end(), fileout( "filename" ) )
for_each( b.begin(), b.end(), fileout( "filename" ) )
みたいにしないわけ?