Listing 8: Collection class.

struct Collection
{
    int array[10];
    void apply(void *p, void (*fp)(void *, int))
    {
    for (int i = 0; i < sizeof(array)/sizeof(array[0]); i++)
        fp(p, array[i]);
    }
};