Sektion 2. Kapitel 8
single
Challenge: Håndtering af Data med Konstruktører og Destruktører
Stryg for at vise menuen
Opgave
Swipe to start coding
Forestil dig, at du skal opbygge et karakteradministrationssystem for studerende. Du skal oprette en GradesManager-klasse, der håndterer en liste over studerendes karakterer.
Din opgave er at implementere en konstruktør, der initialiserer et dynamisk array af karakterer, samt en enkelt metode, der beregner gennemsnittet af karaktererne. Destruktøren skal automatisk frigive den allokerede hukommelse.
-
Implementér en konstruktør ved brug af initializer list-syntaks:
- Den skal tage
sizesom parameter. - Allokér et dynamisk array af heltal kaldet
gradesmed den angivnesize. - Brug en
for-løkke med indeksvariablenifra0tilsizefor at initialisere hver karakter:- Tildel
grades[i] = i + 1som eksempelværdier.
- Tildel
- Den skal tage
-
Implementér en enkelt metode
calculateAverage:- Opret en variabel
sum, initialiseret til0. - Brug en
for-løkke med indeksvariablenifra0tilsizefor at iterere overgrades-arrayet:- Læg
grades[i]tilsumi hver iteration.
- Læg
- Beregn gennemsnittet som
sum * 1.0 / sizefor at sikre etdouble-resultat. - Returnér gennemsnittet.
- Opret en variabel
-
Implementér en destruktør:
- Brug
delete[] gradestil at frigive den hukommelse, der er allokeret til arrayet. - Udskriv
"Grades memory released."for at indikere, at hukommelsen er blevet frigivet.
- Brug
Løsning
Var alt klart?
Tak for dine kommentarer!
Sektion 2. Kapitel 8
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat