C++_operator= とは何か 02

演算子を関数名として使いたい場合、
そのままだと使えないので operator キーワードをつける。
つまり「 operator 演算子」は関数名。ということかと。

 

オペレータとは、関数名が C++演算子であるような関数のこと。
operator は演算子に他の意味を持たせるときに使用するキーワード。

普通の関数

ex ) 2 を返す

    class CHoge {
    public:
        int GetInteger() {
            return 2;
        }
    };

 

+ ( 単項プラス演算子 )に置き換える

+ は関数名としては許されないので、operator というキーワードを付ける。

        int operator+()
        {
            return 2;
        }

 

これにより、CHoge のクラスオブジェクトに + を付けると 2 が返るようになる。

    int main()
    {
        Choge hoge;
        int getI = +hoge;
        std::cout << getI << std::endl; // 2 が表示
        return 0;
    }

+hoge は、 + という関数の呼び出し。

 

通常の関数の呼び出し形式で書くと「 hoge.+() 」 となる。
↑ように書いてもコンパイルはできない。
operator キーワードによるメンバ関数定義は
メンバ関数演算子として動作することを意図している。

operator は、演算子の動作の定義をメンバ関数として記述できる
ことに意味がある。

 

 

こちらから。
http://stlalv.la.coocan.jp/Operator.html

以上。