/** * \file taul_s.cpp * Esimerkki "staattisesta" dynaamisesta taulukosta * @author vesal * @version 29.4.2010 */ #include #include using namespace std; class cTaulukko { private: int max_koko; int lkm; int alkiot[5]; int vika; public: cTaulukko(int max_koko) { this->max_koko = sizeof(alkiot)/sizeof(alkiot[0]); lkm = 0; } ~cTaulukko() { } void add(const int &alkio); void tulosta(ostream &os) const { for (int i=0; i= max_koko ) return; // kasvata tilaa alkiot[lkm++] = alkio; } const int &cTaulukko::get(int i) const { if ( 0 <= i && i < lkm) return alkiot[i]; // return *(alkiot+i); return vika; } ostream &operator<< (ostream &os, const cTaulukko &taulukko) // Inserter { taulukko.tulosta(os); return os; } int main() { cTaulukko taul(7); taul.add(2); taul.add(99); taul.add(77); taul.add(66); int a = taul.get(2); int b = taul[1]; taul[2] = 22; cout << a << " " << b << endl; cout << taul << endl; // cin >> taulukko; { cTaulukko taul2(7); taul2 = taul; taul2.add(177); cout << taul2 << endl; } cout << taul << endl; taul.tulosta(cout); }