単項演算子のオーバーロード
オーバーロードできる単項演算子は次のとおりです。
後置インクリメントとデクリメント演算子 (++ と --) は「インクリメントとデクリメント」で個別に取り上げます。
変換演算子も個別のトピックで説明します (「変換」を参照)。
次の規則は他のすべての単項演算子に適用されます。 単項演算子関数を非静的メンバーとして宣言するには、次の形式で宣言する必要があります。
ret-type operatorop**()**
ret-type は戻り値の型であり、op は前の表に示している演算子の 1 つです。
単項演算子関数をグローバル関数として宣言するには、次の形式で宣言する必要があります。
ret-type operatorop (arg )
ret-type と op はメンバー演算子関数での説明と同様です。arg は操作対象のクラス型の引数です。
注意
単項演算子の戻り値の型に制限はありません。たとえば、論理 NOT (!) が整数値を返すのは正しい使い方ですが、強制ではありません。