This declares a pure virtual function, as opposed to a regular virtual function. Pure virtual functions are declared in base classes. Their effect is that every child class is required to implement this function. It can choose the implementation, but it has to be defined. This gives you a way to define a contract between a base and a child class, saying "you can only derive from me if you implement this function".