I assumed that pure functions must always have a return type(ie, must not be void) and must have the same output regardless of the state of the object and that Impure functions change the state of the object or print the state of the object.
But the textbook I use states that "An accessor usually contains a return statement, but a method that prints information about an objects state may also be classified as an accessor".
I'm confused. Which one is correct?
A bit of clarification,The thing that makes me ask is this question:
The last question is to "Give the type of function used", and the people who comented there stated that it is an impure function as it is printing.
So is this function pure or impure?
From Wikipedia - a function may be described as a pure function if both these statements about the function hold:
Therefore, if either statement is false when compared to your code then it is impure.