Is it a bad idea to overload &&, || or comma operator and Why?
For overloading the logical operators in C++, the operands must be evaluated, which isn't the way things normally work with short circuiting of built-in types.
Look at the below link.