Операторы, которые могут быть перегружены (запятая используется в качестве разделителя):
+, -, *, /, %, ^, &, |, ~, !, =, <, >, +=, -=, *=, /=, %=, ^=, &=, |=, >>=, <<=,
!=, <=, >=, &&, ||, ++, --, ->* , (i.e., comma operator), ->, [], (), new[], delete[]
Операторы, которые не могут быть перегружены:
., .*, ::, ?:
Операторы, в которых функция перегрузки должна быть объявлена как метод класса:
(), [], ->, any assignment operator
(как отметили комментаторы)