It just means that the developer (original writer) of the class in which FOOx and FOOy assumed that it would be used as interfaces to its derived classes.
And these virtual mean that the derived class 'implementation will be implemented using the base class ' pointer. Thus, its use as an interface becomes possible by declaring them as virtual .
And finally, answering your question. The value-assignment, in particular, the assignment of 0 function means, explicitly speaking, that the function has no definition. (Although you can specify a definition for it, it must be called explicitly by derived classes)
source share