In my experience, I have not yet defined a type that uses a multitude of
operators with the same code. In fact, I have only defined the "~=" and
"~" operators for the most part.
So I'd say, while my example is not proof that this is a disaster, I
think it shows the change in operator overloading cannot yet be declared
a success. One good example does not prove anything just like one bad
example does not prove anything.
Operator overloading shines on numeric code, which i guess the targeted
audience for this feature.
In this case, you mostly change a single character and that is the
operator.
I haven't had that experience. This is just me talking. Maybe others
believe it is good.
This new scheme is just pure win, again for numeric coding.
Using operator overloading in conjunction with class inheritance is
rare.
So rare that if you see operator overloading and virtual inheritance,
you'd better be sure there is not something fishy going on.
--
Using Opera's revolutionary email client: http://www.opera.com/mail/