Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Håndtering af Data med Konstruktører og Destruktører | Konstruktører og Destruktører
C++ OOP

bookUdfordring: Håndtering af Data med Konstruktører og Destruktører

Opgave

Swipe to start coding

Forestil dig, at du bygger 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.

  1. Implementering af en konstruktør ved brug af initializer list-syntaks:

    • Den skal tage size som parameter.
    • Allokér et dynamisk array af heltal kaldet grades med den angivne size.
    • Brug en for-løkke med indeksvariablen i fra 0 til size for at initialisere hver karakter:
      • Tildel grades[i] = i + 1 som eksempelværdier.
  2. Implementering af en enkelt metode calculateAverage:

    • Opret en variabel sum, initialiseret til 0.
    • Brug en for-løkke med indeksvariablen i fra 0 til size for at iterere over grades-arrayet:
      • Læg grades[i] til sum i hver iteration.
    • Beregn gennemsnittet som sum * 1.0 / size for at sikre et double-resultat.
    • Returnér gennemsnittet.
  3. Implementering af en destruktør:

    • Brug delete[] grades for at frigive den hukommelse, der er allokeret til arrayet.
    • Udskriv "Grades memory released." for at indikere, at hukommelsen er blevet frigivet.

Eksempel

GradesManager(5).calculateAverage()3.0

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 8
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

Can you explain this in simpler terms?

What are the main takeaways from this?

Can you give me an example?

close

bookUdfordring: Håndtering af Data med Konstruktører og Destruktører

Stryg for at vise menuen

Opgave

Swipe to start coding

Forestil dig, at du bygger 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.

  1. Implementering af en konstruktør ved brug af initializer list-syntaks:

    • Den skal tage size som parameter.
    • Allokér et dynamisk array af heltal kaldet grades med den angivne size.
    • Brug en for-løkke med indeksvariablen i fra 0 til size for at initialisere hver karakter:
      • Tildel grades[i] = i + 1 som eksempelværdier.
  2. Implementering af en enkelt metode calculateAverage:

    • Opret en variabel sum, initialiseret til 0.
    • Brug en for-løkke med indeksvariablen i fra 0 til size for at iterere over grades-arrayet:
      • Læg grades[i] til sum i hver iteration.
    • Beregn gennemsnittet som sum * 1.0 / size for at sikre et double-resultat.
    • Returnér gennemsnittet.
  3. Implementering af en destruktør:

    • Brug delete[] grades for at frigive den hukommelse, der er allokeret til arrayet.
    • Udskriv "Grades memory released." for at indikere, at hukommelsen er blevet frigivet.

Eksempel

GradesManager(5).calculateAverage()3.0

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 8
single

single

some-alt