Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Tietojen Hallinta Konstruktoreilla ja Destruktoreilla | Konstruktorit ja Destruktorit
C++ OOP

bookHaaste: Tietojen Hallinta Konstruktoreilla ja Destruktoreilla

Tehtävä

Swipe to start coding

Kuvittele, että rakennat opiskelijoiden arvosanojen hallintajärjestelmää. Sinun tulee luoda GradesManager-luokka, joka hallinnoi opiskelijoiden arvosanalistaa.

Tehtävänäsi on toteuttaa konstruktori, joka alustaa dynaamisen arvosanataulukon, sekä yksi metodi, joka laskee arvosanojen keskiarvon. Destruktorin tulee vapauttaa varattu muisti automaattisesti.

  1. Toteuta konstruktori käyttäen alustelulistan syntaksia:

    • Sen tulee ottaa parametrina size.
    • Alustetaan dynaaminen kokonaislukutaulukko nimeltä grades annetun size-arvon mukaisella koolla.
    • Käytä for-silmukkaa, jossa indeksi i kulkee arvosta 0 arvoon size:
      • Aseta grades[i] = i + 1 esimerkkiarvoksi.
  2. Toteuta yksi metodi calculateAverage:

    • Luo muuttuja sum, jonka alkuarvo on 0.
    • Käytä for-silmukkaa, jossa indeksi i kulkee arvosta 0 arvoon size ja käy läpi grades-taulukon:
      • Lisää jokaisella kierroksella grades[i] muuttujaan sum.
    • Laske keskiarvo kaavalla sum * 1.0 / size, jotta tulos on tyyppiä double.
    • Palauta keskiarvo.
  3. Toteuta destruktori:

    • Vapauta taulukolle varattu muisti komennolla delete[] grades.
    • Tulosta "Grades memory released." osoittaaksesi, että muisti on vapautettu.

Esimerkki

GradesManager(5).calculateAverage()3.0

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 8
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain this in simpler terms?

What are the main takeaways from this?

Can you give me an example?

close

bookHaaste: Tietojen Hallinta Konstruktoreilla ja Destruktoreilla

Pyyhkäise näyttääksesi valikon

Tehtävä

Swipe to start coding

Kuvittele, että rakennat opiskelijoiden arvosanojen hallintajärjestelmää. Sinun tulee luoda GradesManager-luokka, joka hallinnoi opiskelijoiden arvosanalistaa.

Tehtävänäsi on toteuttaa konstruktori, joka alustaa dynaamisen arvosanataulukon, sekä yksi metodi, joka laskee arvosanojen keskiarvon. Destruktorin tulee vapauttaa varattu muisti automaattisesti.

  1. Toteuta konstruktori käyttäen alustelulistan syntaksia:

    • Sen tulee ottaa parametrina size.
    • Alustetaan dynaaminen kokonaislukutaulukko nimeltä grades annetun size-arvon mukaisella koolla.
    • Käytä for-silmukkaa, jossa indeksi i kulkee arvosta 0 arvoon size:
      • Aseta grades[i] = i + 1 esimerkkiarvoksi.
  2. Toteuta yksi metodi calculateAverage:

    • Luo muuttuja sum, jonka alkuarvo on 0.
    • Käytä for-silmukkaa, jossa indeksi i kulkee arvosta 0 arvoon size ja käy läpi grades-taulukon:
      • Lisää jokaisella kierroksella grades[i] muuttujaan sum.
    • Laske keskiarvo kaavalla sum * 1.0 / size, jotta tulos on tyyppiä double.
    • Palauta keskiarvo.
  3. Toteuta destruktori:

    • Vapauta taulukolle varattu muisti komennolla delete[] grades.
    • Tulosta "Grades memory released." osoittaaksesi, että muisti on vapautettu.

Esimerkki

GradesManager(5).calculateAverage()3.0

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 8
single

single

some-alt