Without the word virtual static binding would be used. With static binding, all function calls have to be figured out at compile time. It may be that we will never need dynamic binding in the type of programs that we will write, but it is safer to allow for that possibility. A base class containing at least one pure virtual function is called an abstact base class. The Push operation places a new data item on top of the stack.
Pop removes the top item and sends it back via the parameter.
Finally, the Empty operation tells us whether or not the stack object is empty. Because of these features, a stack is the ideal data structure to use in reversing a sequence of items. One pushes the numbers one by one onto the stack. Then one pops numbers off, printing each number popped, until the stack is empty. Since our picture of a stack essentially shows a sequence of data items, it should be easy to hold the data for a stack in a linked list.