polymorphism allows:
a)create collection of derived classes that are of different types
b)override base class behavior using virtual functions
c)share common data variables via base class
"The advantages are
1) it reduces overhead when handling multiple objects of similar type.
2) it allows new objects to be added to previously written code without modifying the original code.
3) it keeps private stuff private.
4) it is easier to maintain large systems"
I just now noticed that the question says 'allows'. Unfortunately neither a b or c 'clearly' convey what polymorphism allows. a) would be the (closest) answer.
I originaly chose the answer b) since virtual methods is what allows polymorphism.