Considere o trecho de código abaixo, escrito na linguagem d...
class Pessoa { public: char nome[45]; char sexo; intanoNascimento; private float salario; private voidcalcularAumento();
public: intcalcularIdade (int ano); }
Sobre a definição acima, assinale a alternativa correta.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: Letra B - O método calcularIdade é público.
Vamos entender o conceito por trás da questão. Em C++, uma classe é uma estrutura que pode conter dados e funções, e ela é projetada para modelar objetos no mundo real. Os membros de uma classe podem ser classificados como públicos (public), protegidos (protected) ou privados (private). Isso é parte do conceito de encapsulamento, que é um dos pilares da Programação Orientada a Objetos (POO).
Membros públicos são acessíveis de qualquer parte do programa onde o objeto da classe foi instanciado. Já os membros privados são acessíveis apenas dentro da própria classe ou por funções amigas (friend functions), e eles não podem ser acessados diretamente de fora da classe. Isso significa que eles são usados internamente pela classe e não são visíveis ou modificáveis externamente, a não ser por meios específicos fornecidos pela classe, como métodos públicos.
No trecho de código que nos foi apresentado, o método calcularIdade é declarado após a palavra-chave public:, o que significa que ele pode ser chamado por qualquer parte do programa que tenha acesso a um objeto da classe Pessoa. Portanto, é um método público, o que torna a alternativa B correta.
Para as outras alternativas, podemos ver rapidamente por que não são corretas:
- A alternativa A está errada porque o método calcularAumento é declarado após a palavra-chave private, indicando que é um método privado.
- A alternativa C está errada porque o atributo anoNascimento é declarado na seção pública da classe.
- A alternativa D está errada porque o atributo salario é claramente declarado na seção privada da classe.
- A alternativa E está errada porque o atributo nome é declarado na seção pública da classe, tornando-o um membro público.
Compreender o controle de acesso em classes é fundamental para a programação em C++, pois define a interface e a implementação de uma classe, além de garantir a integridade dos dados.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A = PRIVADO
C = PÚBLICO
D = PRIVADO
E = PÚBLICO
GABARITO B
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo