Utmaning: Hantering av Data med Konstruktorer och Destruktorer
Swipe to start coding
Föreställ dig att du bygger ett betygssystem för studenter. Du behöver skapa en klass GradesManager som hanterar en lista med studentbetyg.
Din uppgift är att implementera en konstruktor som initierar en dynamisk array av betyg samt en enda metod som beräknar medelbetyget. Destruktorn ska automatiskt frigöra det allokerade minnet.
-
Implementera en konstruktor med hjälp av initializer list-syntax:
- Den ska ta
sizesom parameter. - Allokera en dynamisk array av heltal kallad
gradesmed angivensize. - Använd en
for-loop med indexvariabelnifrån0tillsizeför att initiera varje betyg:- Tilldela
grades[i] = i + 1som exempelvärden.
- Tilldela
- Den ska ta
-
Implementera en enda metod
calculateAverage:- Skapa en variabel
sumsom initieras till0. - Använd en
for-loop med indexvariabelnifrån0tillsizeför att iterera över arrayengrades:- Addera
grades[i]tillsumi varje iteration.
- Addera
- Beräkna medelvärdet som
sum * 1.0 / sizeför att säkerställa ett resultat av typendouble. - Returnera medelvärdet.
- Skapa en variabel
-
Implementera en destruktor:
- Använd
delete[] gradesför att frigöra minnet som allokerats för arrayen. - Skriv ut
"Grades memory released."för att indikera att minnet har frigjorts.
- Använd
Exempel
GradesManager(5).calculateAverage() → 3.0
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain this in simpler terms?
What are the main takeaways from this?
Can you give me an example?
Awesome!
Completion rate improved to 3.13
Utmaning: Hantering av Data med Konstruktorer och Destruktorer
Svep för att visa menyn
Swipe to start coding
Föreställ dig att du bygger ett betygssystem för studenter. Du behöver skapa en klass GradesManager som hanterar en lista med studentbetyg.
Din uppgift är att implementera en konstruktor som initierar en dynamisk array av betyg samt en enda metod som beräknar medelbetyget. Destruktorn ska automatiskt frigöra det allokerade minnet.
-
Implementera en konstruktor med hjälp av initializer list-syntax:
- Den ska ta
sizesom parameter. - Allokera en dynamisk array av heltal kallad
gradesmed angivensize. - Använd en
for-loop med indexvariabelnifrån0tillsizeför att initiera varje betyg:- Tilldela
grades[i] = i + 1som exempelvärden.
- Tilldela
- Den ska ta
-
Implementera en enda metod
calculateAverage:- Skapa en variabel
sumsom initieras till0. - Använd en
for-loop med indexvariabelnifrån0tillsizeför att iterera över arrayengrades:- Addera
grades[i]tillsumi varje iteration.
- Addera
- Beräkna medelvärdet som
sum * 1.0 / sizeför att säkerställa ett resultat av typendouble. - Returnera medelvärdet.
- Skapa en variabel
-
Implementera en destruktor:
- Använd
delete[] gradesför att frigöra minnet som allokerats för arrayen. - Skriv ut
"Grades memory released."för att indikera att minnet har frigjorts.
- Använd
Exempel
GradesManager(5).calculateAverage() → 3.0
Lösning
Tack för dina kommentarer!
single