Remember, though, whatever choice you make, it should take the application into account. Overview of paradigms. Especially chapters on Solution domain analysis, Commonality, Variability. Responsibility for the function's behaviour lies with the class. Function is part of the class interface.
Function is an algorithm.
Algorithm requirements implied by the function body. Can avoid additional dependencies - function prototype can be stored in a different header to the class definition. A class we don't know enough about to decide. A class hierarchy in which the member functions are implemented using different, smaller function templates. A development approach.