/******************************************************************************* Moduli: tietorak.cpp Tarkoitus: ...... Projekti: Winlin, Cum laude approbatur -harjoitustyö Tekijät: Virpi Kivinen & Tiina Mäkinen Tehty: 1.1.96 Muutettu 1.7.96 Mitä muutettu: + lisättyyt Puutteet: mökki *******************************************************************************/ /**************************************************************************************** class cOtukset{ cSateellinen *otukset[MAX_OTUKSIA]; int orkkeja; public: .... }; Tietorakenne, johon piirrettävät talletetaan: cOtukset &operator=(cOtukset &otus) -Sijoituksen uudelleen määrittely int kopioi_taulukko(cOtukset &otus) -Osoitintaulukon kopiointi cSateellinen *eka_otus(void) -Palauttaa osoittimen ensimmäisen olioon (cSateellinen) cSateellinen *seuraava_otus(void) -Palauttaa seuraavan olion osoittimen, kunnes NULL int lisaa(cSateellinen *otus) -Lisää osoitintaulukkoon parametrina tuodun new:llä luodun cSateellinen *:n. int tuhoa(); -Tuhoaa silmukassa luodut oliot. /****************************************************************************************/ #include #include #include"tietorak.h" //cOtukset:n metodit: cSateellinen *cOtukset::eka_otus(void) { return otukset[0]; } cSateellinen *cOtukset::seuraava_otus(void) { static int apu=orkkeja; if(apu<1) {apu=orkkeja;}// return NULL;} cSateellinen *o = otukset[orkkeja-apu+1]; apu--; return o; } cSateellinen *cOtukset::viimeinen(void) { return otukset[orkkeja-1]; } int cOtukset::lisaa(cSateellinen *O) { if (orkkeja>=MAX_OTUKSIA-1) return 1; otukset[orkkeja]=O; orkkeja ++; otukset[orkkeja]=NULL; return 0; } int cOtukset::kopioi_taulukko(cOtukset &otus) { int i; cSateellinen *p; tuhoa(); orkkeja=otus.orkkeja; for (i=0; i