The first is called a pure virtual function. Normally, pure virtual functions have no implementation, and you cannot instantiate a class containing a pure virtual function.
The second is a virtual function (that is, a "normal" virtual function). A class provides an implementation for this function, but its derived class can override this implementation by providing its own implementation for this method.