Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Datenverwaltung mit Konstruktoren und Destruktoren | Konstruktoren und Destruktoren
Quizzes & Challenges
Quizzes
Challenges
/
C++ OOP

bookHerausforderung: Datenverwaltung mit Konstruktoren und Destruktoren

Aufgabe

Swipe to start coding

Stellen Sie sich vor, Sie entwickeln ein Notenverwaltungssystem für Studierende. Sie sollen eine Klasse GradesManager erstellen, die eine Liste von Noten verwaltet.

Ihre Aufgabe ist es, einen Konstruktor zu implementieren, der ein dynamisches Array von Noten initialisiert, sowie eine einzige Methode, die die Durchschnittsnote berechnet. Der Destruktor soll den belegten Speicher automatisch freigeben.

  1. Implementieren Sie einen Konstruktor unter Verwendung der Initialisierungsliste:

    • Er soll size als Parameter übernehmen.
    • Allokieren Sie ein dynamisches Array von Ganzzahlen mit dem Namen grades mit der angegebenen size.
    • Verwenden Sie eine for-Schleife mit der Indexvariablen i von 0 bis size, um jede Note zu initialisieren:
      • Weisen Sie grades[i] = i + 1 als Beispielwerte zu.
  2. Implementieren Sie eine einzige Methode calculateAverage:

    • Erstellen Sie eine Variable sum, initialisiert mit 0.
    • Verwenden Sie eine for-Schleife mit der Indexvariablen i von 0 bis size, um über das Array grades zu iterieren:
      • Addieren Sie in jeder Iteration grades[i] zu sum.
    • Berechnen Sie den Durchschnitt als sum * 1.0 / size, um ein Ergebnis vom Typ double zu erhalten.
    • Geben Sie den Durchschnitt zurück.
  3. Implementieren Sie einen Destruktor:

    • Verwenden Sie delete[] grades, um den für das Array belegten Speicher freizugeben.
    • Geben Sie die Meldung "Grades memory released." aus, um anzuzeigen, dass der Speicher freigegeben wurde.

Example

GradesManager(5).calculateAverage()3.0

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 8
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

bookHerausforderung: Datenverwaltung mit Konstruktoren und Destruktoren

Swipe um das Menü anzuzeigen

Aufgabe

Swipe to start coding

Stellen Sie sich vor, Sie entwickeln ein Notenverwaltungssystem für Studierende. Sie sollen eine Klasse GradesManager erstellen, die eine Liste von Noten verwaltet.

Ihre Aufgabe ist es, einen Konstruktor zu implementieren, der ein dynamisches Array von Noten initialisiert, sowie eine einzige Methode, die die Durchschnittsnote berechnet. Der Destruktor soll den belegten Speicher automatisch freigeben.

  1. Implementieren Sie einen Konstruktor unter Verwendung der Initialisierungsliste:

    • Er soll size als Parameter übernehmen.
    • Allokieren Sie ein dynamisches Array von Ganzzahlen mit dem Namen grades mit der angegebenen size.
    • Verwenden Sie eine for-Schleife mit der Indexvariablen i von 0 bis size, um jede Note zu initialisieren:
      • Weisen Sie grades[i] = i + 1 als Beispielwerte zu.
  2. Implementieren Sie eine einzige Methode calculateAverage:

    • Erstellen Sie eine Variable sum, initialisiert mit 0.
    • Verwenden Sie eine for-Schleife mit der Indexvariablen i von 0 bis size, um über das Array grades zu iterieren:
      • Addieren Sie in jeder Iteration grades[i] zu sum.
    • Berechnen Sie den Durchschnitt als sum * 1.0 / size, um ein Ergebnis vom Typ double zu erhalten.
    • Geben Sie den Durchschnitt zurück.
  3. Implementieren Sie einen Destruktor:

    • Verwenden Sie delete[] grades, um den für das Array belegten Speicher freizugeben.
    • Geben Sie die Meldung "Grades memory released." aus, um anzuzeigen, dass der Speicher freigegeben wurde.

Example

GradesManager(5).calculateAverage()3.0

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 8
single

single

some-alt