Операції = [] () -> можна перевантажувати лише як методи. Не рекомендується перевантажувати операції, || &&. Поведінка перевантажених операцій має відповідати поведінці цих операцій для стандартних типів даних: операція + повинна змінювати своїх аргументів, операція = повинна повертати посилання лівий аргумент тощо.
Глобальні операції delete не можуть бути перевантажені. Їх можна перевантажити лише стосовно класу. Задані в самій мові глобальні операції new і delete можна змінити.
Наступні оператори перевантажувати не можна:
- ?: (Тернарний оператор);
- :: (доступ до вкладених імен);
- . (Доступ до полів);
- . * (Доступ до полів за вказівником);
- sizeof , typeid та оператори каста.
Sep 25, 2016
Унарні оператори, оголошені як функції-члени, не приймають аргументів; при оголошенні як глобальні функції вони приймають один аргумент. Бінарні оператори, оголошені як функції-члени, приймають один аргумент; при оголошенні як глобальні функції вони приймають два аргументу.