C++:ssa edällä mainittu dynaaminen taulukko voidaan toteuttaa käyttäjän kannalta todella joustavaksi:
#include <iostream.h> #include <iomanip.h> class cTaulukko { int max_koko; int lkm; int *alkiot; public: cTaulukko(int akoko) { max_koko = 0; alkiot = new(nothrow) int[akoko]; if ( alkiot ) max_koko = akoko; lkm = 0; } ~cTaulukko() { if ( max_koko ) delete [] alkiot; max_koko = 0; } int lisaa(int luku) { if ( lkm >= max_koko ) return 1; alkiot[lkm] = luku; lkm++; return 0; } void tulosta(ostream &os=cout) const; }; // HUOM! Luokasta puuttuu vielä kopionmuodostin ja kopionsijoitus!!! void cTaulukko::tulosta(ostream &os) const { int i; for (i=0; i < lkm; i++) os << setw(5) << alkiot[i]; os << endl; } int main(void) { cTaulukko luvut(7); luvut.lisaa(0); luvut.lisaa(2); // Ilo on täällä!!! luvut.tulosta(); return 0; }
Edellä olemme käyttäneet muutamia C++:n aikaisemmin käsittelemättömiä ominaisuuksia: