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
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