Haaste: Tietojen Hallinta Konstruktoreilla ja Destruktoreilla
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.
-
Toteuta konstruktori käyttäen alustelulistan syntaksia:
- Sen tulee ottaa parametrina
size. - Alustetaan dynaaminen kokonaislukutaulukko nimeltä
gradesannetunsize-arvon mukaisella koolla. - Käytä
for-silmukkaa, jossa indeksiikulkee arvosta0arvoonsize:- Aseta
grades[i] = i + 1esimerkkiarvoksi.
- Aseta
- Sen tulee ottaa parametrina
-
Toteuta yksi metodi
calculateAverage:- Luo muuttuja
sum, jonka alkuarvo on0. - Käytä
for-silmukkaa, jossa indeksiikulkee arvosta0arvoonsizeja käy läpigrades-taulukon:- Lisää jokaisella kierroksella
grades[i]muuttujaansum.
- Lisää jokaisella kierroksella
- Laske keskiarvo kaavalla
sum * 1.0 / size, jotta tulos on tyyppiädouble. - Palauta keskiarvo.
- Luo muuttuja
-
Toteuta destruktori:
- Vapauta taulukolle varattu muisti komennolla
delete[] grades. - Tulosta
"Grades memory released."osoittaaksesi, että muisti on vapautettu.
- Vapauta taulukolle varattu muisti komennolla
Esimerkki
GradesManager(5).calculateAverage() → 3.0
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain this in simpler terms?
What are the main takeaways from this?
Can you give me an example?
Mahtavaa!
Completion arvosana parantunut arvoon 3.13
Haaste: Tietojen Hallinta Konstruktoreilla ja Destruktoreilla
Pyyhkäise näyttääksesi valikon
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.
-
Toteuta konstruktori käyttäen alustelulistan syntaksia:
- Sen tulee ottaa parametrina
size. - Alustetaan dynaaminen kokonaislukutaulukko nimeltä
gradesannetunsize-arvon mukaisella koolla. - Käytä
for-silmukkaa, jossa indeksiikulkee arvosta0arvoonsize:- Aseta
grades[i] = i + 1esimerkkiarvoksi.
- Aseta
- Sen tulee ottaa parametrina
-
Toteuta yksi metodi
calculateAverage:- Luo muuttuja
sum, jonka alkuarvo on0. - Käytä
for-silmukkaa, jossa indeksiikulkee arvosta0arvoonsizeja käy läpigrades-taulukon:- Lisää jokaisella kierroksella
grades[i]muuttujaansum.
- Lisää jokaisella kierroksella
- Laske keskiarvo kaavalla
sum * 1.0 / size, jotta tulos on tyyppiädouble. - Palauta keskiarvo.
- Luo muuttuja
-
Toteuta destruktori:
- Vapauta taulukolle varattu muisti komennolla
delete[] grades. - Tulosta
"Grades memory released."osoittaaksesi, että muisti on vapautettu.
- Vapauta taulukolle varattu muisti komennolla
Esimerkki
GradesManager(5).calculateAverage() → 3.0
Ratkaisu
Kiitos palautteestasi!
single