Utfordring: Håndtering av Data med Konstruktører og Destruktører
Swipe to start coding
Tenk deg at du skal bygge et system for vurdering av studenter. Du må lage en GradesManager-klasse som håndterer en liste med studentkarakterer.
Din oppgave er å implementere en konstruktør som initialiserer et dynamisk array av karakterer og en enkelt metode som beregner gjennomsnittskarakteren. Destruktøren skal automatisk frigjøre det allokerte minnet.
-
Implementer en konstruktør ved å bruke initializer list-syntaks:
- Den skal ta
sizesom parameter. - Alloker et dynamisk array av heltall kalt
gradesmed gittsize. - Bruk en
for-løkke med indeksvariabelifra0tilsizefor å initialisere hver karakter:- Tildel
grades[i] = i + 1som eksempelverdier.
- Tildel
- Den skal ta
-
Implementer en enkelt metode
calculateAverage:- Opprett en variabel
suminitialisert til0. - Bruk en
for-løkke med indeksvariabelifra0tilsizefor å iterere overgrades-arrayet:- Legg til
grades[i]isumi hver iterasjon.
- Legg til
- Beregn gjennomsnittet som
sum * 1.0 / sizefor å sikre etdouble-resultat. - Returner gjennomsnittet.
- Opprett en variabel
-
Implementer en destruktør:
- Bruk
delete[] gradesfor å frigjøre minnet som er allokert for arrayet. - Skriv ut
"Grades memory released."for å indikere at minnet er frigjort.
- Bruk
Eksempel
GradesManager(5).calculateAverage() → 3.0
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.13
Utfordring: Håndtering av Data med Konstruktører og Destruktører
Sveip for å vise menyen
Swipe to start coding
Tenk deg at du skal bygge et system for vurdering av studenter. Du må lage en GradesManager-klasse som håndterer en liste med studentkarakterer.
Din oppgave er å implementere en konstruktør som initialiserer et dynamisk array av karakterer og en enkelt metode som beregner gjennomsnittskarakteren. Destruktøren skal automatisk frigjøre det allokerte minnet.
-
Implementer en konstruktør ved å bruke initializer list-syntaks:
- Den skal ta
sizesom parameter. - Alloker et dynamisk array av heltall kalt
gradesmed gittsize. - Bruk en
for-løkke med indeksvariabelifra0tilsizefor å initialisere hver karakter:- Tildel
grades[i] = i + 1som eksempelverdier.
- Tildel
- Den skal ta
-
Implementer en enkelt metode
calculateAverage:- Opprett en variabel
suminitialisert til0. - Bruk en
for-løkke med indeksvariabelifra0tilsizefor å iterere overgrades-arrayet:- Legg til
grades[i]isumi hver iterasjon.
- Legg til
- Beregn gjennomsnittet som
sum * 1.0 / sizefor å sikre etdouble-resultat. - Returner gjennomsnittet.
- Opprett en variabel
-
Implementer en destruktør:
- Bruk
delete[] gradesfor å frigjøre minnet som er allokert for arrayet. - Skriv ut
"Grades memory released."for å indikere at minnet er frigjort.
- Bruk
Eksempel
GradesManager(5).calculateAverage() → 3.0
Løsning
Takk for tilbakemeldingene dine!
single