> 
> **Possible Duplicate:**  
> 
> [How can overloading operator “function call” in C++ be useful?](https://stackoverflow.com/questions/2349867/how-can-overloading-operator-function-call-in-c-be-useful) 
> 
> 
> 

I see often where the parenthesis operator, `operator()`, is overloaded on a class or struct. I have never run into such a need myself, and wonder what is the typical use/need of this operator?

For instance, overloading `operator==` is accepted as returning true or false based on some equality made with the argument provided. This has a certain accepted and anticipated behavior.