Új hozzászólás Aktív témák

  • Retekegér

    MODERÁTOR

    C++ könyv példaprogramjával kapcsolatban lenne egy kérdésem, adott az alábbi kód az inkrementáló operátor túlterhelésének szemléltetésére:

    #include <iostream>

    class Counter
    {
    public:

    Counter();
    ~Counter() {}
    int GetItsVal() const {return itsVal;}
    void SetItsVal(int x) {itsVal = x;}
    void Increment() { ++itsVal;}
    const Counter& operator++();

    private:
    int itsVal;
    };

    Counter::Counter():
    itsVal(0)
    {}

    const Counter& Counter::operator++()
    {
    ++itsVal;
    return *this;
    }

    int main()
    {
    Counter i;
    std::cout << "The value of i is " << i.GetItsVal() << std::endl;
    i.Increment();
    std::cout << "The value of i is " << i.GetItsVal() << std::endl;
    ++i;
    std::cout << "The value of i is " << i.GetItsVal() << std::endl;
    Counter a = ++i;
    std::cout << "The value of a: " << a.GetItsVal();
    std::cout << " and i: " << i.GetItsVal() << std::endl;
    return 0;
    }

    Nos, az operator++ függvény számomra nem egészen világos, konkrétabban a "Counter&". Hivatkozás lenne?

Új hozzászólás Aktív témák