class cTaulukko1 { int lkm; int alkiot[5]; public: ... };class cTaulukko2 { int max_koko; int lkm; int *alkiot; public: ... };
class cTaulukko3 { int max_koko; int lkm; int **alkiot; public: ... };
class cTaulukko4 { int lkm; int *alkiot[5]; public: ... };
int main(void) { cTaulukko1 luvut(5); luvut.lisaa(2001); luvut.lisaa(22); // Kuva tästä tilanteesta luvut.tulosta(); return 0; }
cTaulukko1::cTaulukko1(int iLuvut=5) { lkm=0; } cTaulukko2::cTaulukko2(int iLuvut=5) { lkm=0; max_koko=0; alkiot=new int[iLuvut]; if (alkiot) max_koko=iLuvut; } cTaulukko3::cTaulukko3(int iLuvut=5) { lkm=0; max_koko=0; alkiot=new int*[iLuvut]; if (alkiot) max_koko=iLuvut; } cTaulukko4::cTaulukko4(int iLuvut=5) { lkm=0; }
void cTaulukko1::lisaa(int luku) { if (lkm>=5) return; alkiot[lkm]=luku; lkm++; } void cTaulukko2::lisaa(int luku) { if (lkm>=max_koko) return; alkiot[lkm]=luku; lkm++; } void cTaulukko3::lisaa(int luku) { if (lkm>=max_koko) return; alkiot[lkm]=new int(luku); lkm++; } void cTaulukko4::lisaa(int luku) { if (lkm>=5) return; alkiot[lkm]=new int(luku); lkm++; }