The fundamental problem with operator overloading is that it's one of the places where what's written looks 'obvious' but in fact anything can happen. As a result, it tends to be shorthand and as such not really suited for understanding by more than one person.
Personally I feel C++ isn't well suited for games programming unless you can be very rigourous about what you avoid (implicit new/delete is the most obvious major problem, but operator overloading and templates I personally find stylistically offensive except in very controlled circumstances).
Classes are extremely useful though for simplifying and structuring control and data transfer around the program, so they're hard to give up.
Personally I feel C++ isn't well suited for games programming unless you can be very rigourous about what you avoid (implicit new/delete is the most obvious major problem, but operator overloading and templates I personally find stylistically offensive except in very controlled circumstances).
Classes are extremely useful though for simplifying and structuring control and data transfer around the program, so they're hard to give up.