single
Défi : Gestion des Données avec les Constructeurs et les Destructeurs
Glissez pour afficher le menu
Glissez pour commencer à coder
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