Considere o trecho de código abaixo, escrito na linguagem d...

Próximas questões
Com base no mesmo assunto
Q1393649 Programação
Considere o trecho de código abaixo, escrito na linguagem de programação C++, que define uma classe chamada Pessoa.
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.
Alternativas

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