Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Muokatkaa tunneilla tehtyä esimerkkiä Tietokone-luokasta siten, että lisäätte luokkaan kaksi uutta jäsenmuuttujaa (ominaisuutta) ja mainiin toisen olion Tietokone-luokasta, määrittäen myös sen ominaisuudet.
  2. Esitelkää yksi luokka, jossa on privaatti jäsenmuuttuja, sekä yksi julkinen metodi.
  3. Mallintakaa CAuto-luokka, jossa tulee olla vähintään 5 jäsenmuuttujaa ja niille asetus ja tulostusfunktiot.
    Lisäksi kirjoittakaa muodostin, jossa antaa alkuarvot jäsenmuuttujille.
    Funktioiden ja muuttujien tulee olla public-tyyppisiä.
  4. Tehkää yksi luokka (siis esittely ja toteutus metodeille), jossa on yksi privaatti jäsenmuuttuja, sekä yksi parametriton julkinen metodi.
    Luokaa luokasta olio main():ssa ja kutsukaa metodia.
    Metodin toteutuksessa voi esim. tulostaa tekstin.
  5. Tehkää yksi luokka, jossa on privaatti jäsenmuuttuja.
    Kirjoittakaa luokalle parametriton muodostin, jossa jäsenmuuttujalle annetaan (alku)arvo.
    Luokaa luokasta olio main():ssa.
  6. Tehkää luokka, jossa on yksi julkinen metodi, jolla on bool-tyyppinen parametri.
    Riippuen tämän parametrin arvosta, tulostakaa eri tekstit (esim. if/else-rakenteen avulla)
  7. Tehkää luokka, jossa on kolme privaattia jäsenmuuttujaa, sekä PARAMETRILLINEN muodostin, jossa kaikille kolmelle muuttujalle annetaan arvo.
    Luo luokasta olio main():ssa.
  8. Muuttakaa CAuto-luokkaa siten, että kaikki muuttujat sekä TulostaMerkki(), TulostaMalli(), jne. -funktiot ovat private-tyyppisiä.
    Kirjoittakaa public-tyyppinen Tulosta()-funktio, joka kutsuu private-tyyppisiä Tulosta()-funktioita.
    Tulostakaa auton tiedot main():sta.
  9. Lisätkää CAuto-luokkaan vähintään kaksi ominaisuutta (valmistusvuosi, väri jne) ja tehkää niille asetus- ja tulostusmetodit.
    Muuttakaa Tulosta()-metodia siten, että se kutsuu myös näitä lisättyjä metodeja.
  10. Tehkää kokonaan uusi luokka, jossa on min. 2 muuttujaa ja näille asetusfunktiot.
    Lisätkää luokkaan muodostin, jolla EI OLE parametreja.
    Alustakaa muuttujat muodostimessa oletusarvoihin.
  11. Kopioikaa koostuminen-sivulla annettu esimerkki 2 ja siirtäkää jokainen luokka omaan tiedostoonsa.
    Tätä ei tarvitse saada kääntymään!
  12. Tehkää seuraavat jäsenfunktiot:
    CTietokone-luokalle int Suorita(int, int, char);
    CProsessori-luokalle int Laske(int, int, char);
    Luokkien metodeilla tulee olla toteutukset, joiden avulla voidaan suorittaa seuraavat laskutoimitukset: yhteenlasku, vähennyslasku, kertolasku ja jakolasku.
    Ideana on että main:ssa voidaan antaa seuraava funktiokutsu: pc.Suorita(10, 2, '+'); Tämä funktio puolestaan kutsuu CProsessori-luokan funktiota Laske(), joka palauttaa paluuarvona laskennan tuloksen. Kutsuketju siis on seuraava: main()->Suorita()->Laske().
    Vihje: voitte käyttää CProsessori-luokan Laske()-metodissa switch...case-rakennetta.
  13. Lisätkää vielä CRAM-luokalle void Talleta(int); ja int Palauta(); -funktiot ja tehkää toteutukset näille.
    Käyttäkää CTietokone-luokan Suorita()-funktiossa näitä tallentaaksenne laskettu arvo 'muistiin'.
  14. Kopioikaa CElain ja CKissa luokat Periytyminen-sivun esimerkki 1:stä.
    Tehkää toteutukset jäsenfunktioille.
    Lisätkää main()-funktio ja luokaa siellä olio CKissa-luokasta.
    Testatkaa mitä jäsenfunktioita voitte kutsua.
  15. Tehkää luokka, jossa on kaksi privaattia jäsenmuuttujaa, näille julkiset asetus- sekä privaatit tulostafunktiot.
    Lisäksi tehkää luokkaan julkinen Tulosta()-funktio, joka puolestaan kutsuu privaatteja tulostafunktioita.
    Luokaa luokasta olio, asettakaa muuttujille jotkin arvot ja tulostakaa ne.
    HUOM: Tässä tehtävässä tehty luokka on enkapsuloitu...
  16. (Tämä tehdään tehtävän 15 pohjalta)
    Lisätkää luokka, joka perii tehtävässä 15 tekemäsi luokan.
    Tehkää perilliseen kaksi protected-tyyppistä muuttujaa ja niille tulostafunktiot.
    Lisätkää vielä julkinen Tulosta()-funktio (tätä kutsutaan funktion ylikirjoittamiseksi),
    joka kutsuu vanhemman Tulosta()-funktiota perillisen tulostafunktioiden lisäksi (kts. periytyminen-sivun lopusta).
    Luokaa perillisestä olio mainissa ja kutsukaa Tulosta-funktiota.

...