演算子のオーバーロード

読み:えんざんしのオーバーロード
外語:operator overloading 英語
品詞:さ変名詞

C++の機能で、演算子関数として表現し、その挙動を変更する機能。

目次

演算子の前にoperatorを附して関数名のようにし、あとは関数の定義と同様に記述する。

クラス同士の演算であるなど、標準的に定義されていない処理を記述する際に用いる。

処理内容は自由なため、演算子本来の意味を失わせることも可能だが、分かりにくくなるばかりで利益がないため、通常は演算子の意味に則した定義をする。

例えば、単項演算子+の定義を書き換えてみる。classの定義中に書く。

class Hoge {
public:
    int operator+() {
        return 123;
    }
};

使用例

Hoge hoge;
int val = +hoge;
std::cout << val << std::endl;

結果は以下のとおりとなる。

123

なお、ここで使われる << も、演算子のオーバーロードによって実現されている。

用語の所属
オーバーロード
関連する用語
operator

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club