A virtual function is a member function which is declared within a base class and is re-defined(Overriden) by a derived class. Virtual functions ensure that the correct function is called for an object, regardless of the type of reference (or pointer ...