Défi : Gestion des Données avec les Constructeurs et les Destructeurs
Swipe to start coding
Imaginez que vous développez un système de notation pour les étudiants. Vous devez créer une classe GradesManager qui gère une liste de notes d'étudiants.
Votre tâche consiste à implémenter un constructeur qui initialise un tableau dynamique de notes et une méthode size qui calcule la moyenne des notes. Le destructeur doit libérer automatiquement la mémoire allouée.
-
Implémenter un constructeur en utilisant la syntaxe de liste d'initialisation :
- Il doit prendre
sizecomme paramètre. - Allouer un tableau dynamique d'entiers appelé
gradesavec la taille donnée. - Utiliser une boucle
foravec la variable d'indexide0àsizepour initialiser chaque note :- Affecter
grades[i] = i + 1comme valeurs d'exemple.
- Affecter
- Il doit prendre
-
Implémenter la méthode
calculateAverage:- Créer une variable
suminitialisée à0. - Utiliser une boucle
foravec la variable d'indexide0àsizepour parcourir le tableaugrades:- Ajouter
grades[i]àsum.
- Ajouter
- Calculer la moyenne comme
sum * 1.0 / sizepour obtenir un résultat de typedouble. - Retourner la moyenne.
- Créer une variable
-
Implémenter un destructeur :
- Utiliser
delete[] gradespour libérer la mémoire du tableau. - Afficher
"Grades memory released."pour indiquer que la mémoire a été libérée.
- Utiliser
Exemple
GradesManager(5).calculateAverage() → 3.0
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
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
Défi : Gestion des Données avec les Constructeurs et les Destructeurs
Glissez pour afficher le menu
Swipe to start coding
Imaginez que vous développez un système de notation pour les étudiants. Vous devez créer une classe GradesManager qui gère une liste de notes d'étudiants.
Votre tâche consiste à implémenter un constructeur qui initialise un tableau dynamique de notes et une méthode size qui calcule la moyenne des notes. Le destructeur doit libérer automatiquement la mémoire allouée.
-
Implémenter un constructeur en utilisant la syntaxe de liste d'initialisation :
- Il doit prendre
sizecomme paramètre. - Allouer un tableau dynamique d'entiers appelé
gradesavec la taille donnée. - Utiliser une boucle
foravec la variable d'indexide0àsizepour initialiser chaque note :- Affecter
grades[i] = i + 1comme valeurs d'exemple.
- Affecter
- Il doit prendre
-
Implémenter la méthode
calculateAverage:- Créer une variable
suminitialisée à0. - Utiliser une boucle
foravec la variable d'indexide0àsizepour parcourir le tableaugrades:- Ajouter
grades[i]àsum.
- Ajouter
- Calculer la moyenne comme
sum * 1.0 / sizepour obtenir un résultat de typedouble. - Retourner la moyenne.
- Créer une variable
-
Implémenter un destructeur :
- Utiliser
delete[] gradespour libérer la mémoire du tableau. - Afficher
"Grades memory released."pour indiquer que la mémoire a été libérée.
- Utiliser
Exemple
GradesManager(5).calculateAverage() → 3.0
Solution
Merci pour vos commentaires !
single