A virtual instructor is not always needed for virtual functions in programming, especially object-oriented programming (OOP). The term virtual function refers to a feature in OOP where a method in a base class is marked as virtual so that a derived class can override it. This allows for dynamic dispatch, where the method depends on the type of object that invokes it, even if the reference or pointer is of the base class type.