I have an abstract class of Animal, of which i've created sub classes like Dog, Cat, Hamster, etc.

I've made a method that iterates over a list of animal objects and calls the 'describe' method on each of them. Describe is a pure virtual function, that has been implemented in the sub classes.

I'm trying to create a method that iterates over any container of animal and does the same thing.

Here's what I have so far:

```
template <typename Container>
void describe_all(Container &c) {
typedef typename Container::iterator Iter;

for (Iter p = c.begin(); p != c.end(); ++p)

}

```

My mind goes blank here and i'm unsure how to incorporate the animal class. I'm still pretty new to C++!