単項演算子のオーバーロード

オーバーロードできる単項演算子は次のとおりです。

  1. ! (論理 NOT)

  2. & (アドレス取得)

  3. ~ (1 の補数)

  4. * (ポインター逆参照)

  5. + (単項プラス)

  6. - (単項マイナス符号)

  7. ++ (インクリメント)

  8. -- (デクリメント)

  9. 変換演算子

後置インクリメントとデクリメント演算子 (++ と --) は「インクリメントとデクリメント」で個別に取り上げます。

変換演算子も個別のトピックで説明します (「変換」を参照)。

次の規則は他のすべての単項演算子に適用されます。 単項演算子関数を非静的メンバーとして宣言するには、次の形式で宣言する必要があります。

ret-type operatorop**()**

ret-type は戻り値の型であり、op は前の表に示している演算子の 1 つです。

単項演算子関数をグローバル関数として宣言するには、次の形式で宣言する必要があります。

ret-type operatorop (arg )

ret-type と op はメンバー演算子関数での説明と同様です。arg は操作対象のクラス型の引数です。

注意

単項演算子の戻り値の型に制限はありません。たとえば、論理 NOT (!) が整数値を返すのは正しい使い方ですが、強制ではありません。

参照

関連項目

演算子のオーバーロード