Iterating will be done through a base class pointer at some point in the code, but if you actually used polymorphism, the derived objects will end up invoking their own functions.