virtual const char* what() const throw()
{
}
AFAIK it\'s a function that will return a constant pointer to a mutable char. The rest I am not sure.
virtual
: This means that the function can be reimplemented in subclasses, and calls to the method via a base class pointer will end up calling the reimplementation.
const char *
is not a constant pointer to a mutable char - it's the other way round.
const
means that this method can even be called on const instances of this class.
throw()
means that this method will not yield any exceptions.