しかし、デクリメント演算子やインクリメント演算子まで勝手にオーバーロードされると
困った事態に陥る。

a++と++aとの違い、これらを組み合わせた優先順位をどうするか考えないといけないからな。

ある人がC++で書いたフーリエ変換のプログラムを見たことがあるんだが、
++と--演算子を、複素数平面のディリクレ核の「回転」に使っていてビックリしたよ。
そんなふうに勝手に演算子の定義を変えるから読みづらくて困る。

このように下手なオーバーロードはソースコードを読みにくくするからねえ。