Unterschied zwischen reiner und unreiner Funktion?

Ich nahm an, dass reine Funktionen immer einen Rückgabetyp haben müssen (d. H. Nicht müssen)void) und müssen die gleiche Ausgabe haben, unabhängig vom Status des Objekts und davon, dass Unreine Funktionen den Status des Objekts ändern oder den Status des Objekts drucken.

Aber das Lehrbuch, das ich benutze, besagt, dass:

Ein Accessor enthält normalerweise eine return-Anweisung, aber eine Methode, die Informationen über einen Objektstatus ausgibt, kann auch als Accessor klassifiziert werden.

Ich bin verwirrt. Welches ist richtig?

BEARBEITEN

Ein bisschen Klarstellung, die Sache, die mich fragen lässt, ist diese Frage:

Die letzte Frage ist: "Geben Sie die Art der verwendeten Funktion an", und die Leute, die dort kommentierten, gaben an, dass es sich beim Drucken um eine unreine Funktion handelt.

Ist diese Funktion also rein oder unrein?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage