Why virtual functions are used ?
To access derived class objects using base class pointer.
To access base class objects using derived class pointer.
To avoid ambiguity in inheritance.
To create array of objects.