Перегружать можно следующие операторы:
+ - * / % ^ & | ~ ! = < >
+= -= *= /= %= ^= &= |=
<< >> >>= <<= == != <= >=
&& || ++ -- ->* , -> [] ()
new new[] delete delete[]
А нельзя (подсмотрел у Страуструпа):
::
(разрешение области видимости).
(выбор члена).*
(выбор члена через указатель на член)?:
тернарный операторsizeof, typeid
Также нельзя определить новые лексемы.
Уважаемый Филипп, тернарный оператор возвращает rvalue.
ОтветитьУдалить