什么是int运算符()

时间:2018-03-06 14:40:51

标签: c++ function int operator-keyword

int operator()(int n)行的含义是什么?

它看起来像一个功能,但它是什么?

class collatzer
{
private:
    int counter = 0;

public:
    int operator ()(int n)
    {
        if(n==1)
            return counter;

        else if(n%2==0) //if n is even
        {
            counter += 1;
            return (*this)(n / 2);
        }
        else
        {
            counter += 1;
            return (*this)(3 * n + 1);
        }
    }

    int getCounter()
    {
        return counter;
    }
};

0 个答案:

没有答案