Desafio: Gerenciamento de Dados com Construtores e Destrutores
Swipe to start coding
Imagine que você está desenvolvendo um sistema de avaliação de alunos. É necessário criar uma classe GradesManager que gerencie uma lista de notas dos estudantes.
Sua tarefa é implementar um construtor que inicialize um array dinâmico de notas e um único método que calcule a média das notas. O destrutor deve liberar automaticamente a memória alocada.
-
Implemente um construtor utilizando sintaxe de lista de inicialização:
- Deve receber
sizecomo parâmetro. - Alocar um array dinâmico de inteiros chamado
gradescom o tamanho especificado porsize. - Utilizar um laço
forcom a variável de índiceide0atésizepara inicializar cada nota:- Atribuir
grades[i] = i + 1como valores de exemplo.
- Atribuir
- Deve receber
-
Implemente um único método
calculateAverage:- Criar uma variável
suminicializada com0. - Utilizar um laço
forcom a variável de índiceide0atésizepara iterar sobre o arraygrades:- Somar
grades[i]asumem cada iteração.
- Somar
- Calcular a média como
sum * 1.0 / sizepara garantir um resultado do tipodouble. - Retornar a média.
- Criar uma variável
-
Implemente um destrutor:
- Utilizar
delete[] gradespara liberar a memória alocada para o array. - Exibir
"Grades memory released."para indicar que a memória foi liberada.
- Utilizar
Exemplo
GradesManager(5).calculateAverage() → 3.0
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain this in simpler terms?
What are the main takeaways from this?
Can you give me an example?
Incrível!
Completion taxa melhorada para 3.13
Desafio: Gerenciamento de Dados com Construtores e Destrutores
Deslize para mostrar o menu
Swipe to start coding
Imagine que você está desenvolvendo um sistema de avaliação de alunos. É necessário criar uma classe GradesManager que gerencie uma lista de notas dos estudantes.
Sua tarefa é implementar um construtor que inicialize um array dinâmico de notas e um único método que calcule a média das notas. O destrutor deve liberar automaticamente a memória alocada.
-
Implemente um construtor utilizando sintaxe de lista de inicialização:
- Deve receber
sizecomo parâmetro. - Alocar um array dinâmico de inteiros chamado
gradescom o tamanho especificado porsize. - Utilizar um laço
forcom a variável de índiceide0atésizepara inicializar cada nota:- Atribuir
grades[i] = i + 1como valores de exemplo.
- Atribuir
- Deve receber
-
Implemente um único método
calculateAverage:- Criar uma variável
suminicializada com0. - Utilizar um laço
forcom a variável de índiceide0atésizepara iterar sobre o arraygrades:- Somar
grades[i]asumem cada iteração.
- Somar
- Calcular a média como
sum * 1.0 / sizepara garantir um resultado do tipodouble. - Retornar a média.
- Criar uma variável
-
Implemente um destrutor:
- Utilizar
delete[] gradespara liberar a memória alocada para o array. - Exibir
"Grades memory released."para indicar que a memória foi liberada.
- Utilizar
Exemplo
GradesManager(5).calculateAverage() → 3.0
Solução
Obrigado pelo seu feedback!
single