Frage zur Hysterese

Warum ist der int operator 2 mal drin?

Es werden die zwei Operatoren () und = überschrieben.
int ist kein Operator, sondern ein Daten Type.

int value = hysterese.doValue(4711); // ohne überschriebenen Operator

int value = hysterese(4711); // nutzt den überschriebenen () Operator

int value = hysterese = 4711; // nutzt den überschriebenen = Operator

Alle 3 Varianten machen im Grunde das gleiche.
Die Operatorenüberschreibung erlaubt hier alternative/verkürzte Schreibweisen.