
//
// To jest przykładowy kod z podrozdziału 17.6 „Dostęp do elementów” książki
// "Programowanie. Teoria i praktyka z wykorzystaniem C++" Bjarne'a Stroustrupa.
//

#include <iostream>

using namespace std;

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

// Bardzo uproszczony wektor liczb typu double.
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

    int size() const { return sz; }               // bieżący rozmiar wektora

    double get(int n) { return elem[n]; }         // dostęp: odczyt
    void set(int n, double v) { elem[n]=v; }      // dostęp: zapis
};

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

int main()
{
    vector v(5);
    for (int i=0; i<v.size(); ++i) {
        v.set(i,1.1*i);
        cout << "v[" << i << "]==" << v.get(i) << '\n';
    }
}

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