
//
// To jest przykładowy kod z podrozdziału 18.4 "Uzyskiwanie dostępu do elementów wektora" książki
// "Programowanie. Teoria i praktyka z wykorzystaniem C++" Bjarne'a Stroustrupa.
//

//------------------------------------------------------------------------------

class vector {
    int sz;          // rozmiar
    double* elem;    // wskaźnik na elementy
public:
    vector(int s) :sz(s), elem(new double[s]) { } // konstruktor
    ~vector() { delete[] elem; }                  // destruktor
    // ...
    double operator[](int n) { return elem[n]; }  // zwraca element
};

//------------------------------------------------------------------------------

int main()
{
    vector v(10);
    int x = v[2];    // dobrze
    //v[3] = x;        // błąd: v[3] nie jest l-wartością
}

//------------------------------------------------------------------------------
