Na linguagem de programação C++, as heranças de classes pod...

Próximas questões
Com base no mesmo assunto
Ano: 2021 Banca: VUNESP Órgão: EsFCEx Prova: VUNESP - 2021 - EsFCEx - Informática |
Q1815180 Programação
Na linguagem de programação C++, as heranças de classes podem ser do tipo public, protected e private. Ao derivar uma classe de uma classe básica usando herança do tipo protected, os membros public e protected da classe básica se tornam, respectivamente, na classe derivada,
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: A - protected e protected.

Na linguagem de programação C++, a forma como uma classe derivada herda os membros de sua classe base é crucial e é definida pelo tipo de herança especificado: public, protected ou private. Cada tipo de herança altera a visibilidade dos membros herdados na classe derivada.

Quando utilizamos a herança do tipo protected, os membros public e protected da classe base são herdados como protected na classe derivada. Isso significa que esses membros continuarão acessíveis dentro da classe derivada e em suas subclasses, mas não serão acessíveis fora dessas classes.

Vamos analisar as alternativas:

  • Alternativa A - protected e protected: Correta. Estabelece que tanto os membros public quanto os protected da classe base serão herdados como protected na classe derivada.
  • Alternativa B - public e protected: Incorreta. Isto seria verdade para herança do tipo public, não protected.
  • Alternativa C - protected e private: Incorreta. No caso da herança do tipo protected, ambos os tipos de membros (public e protected) são herdados como protected, e não como private.
  • Alternativa D - public e private: Incorreta. Esta configuração não é possível em herança do tipo protected; novamente, ambos são herdados como protected.
  • Alternativa E - private e private: Incorreta. Isso seria uma configuração fictícia para a herança do tipo private, onde tudo é herdado como private, mas não se aplica à herança protected.

Entender os diferentes tipos de herança é fundamental em C++, pois permite o controle sobre a visibilidade e acessibilidade dos membros nas classes derivadas, influenciando diretamente na arquitetura e segurança do código.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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

Tipo de acesso:

public : não altera a visibilidade dos membros da classe

private : herda os membros public e protected como privados

protected : herda os membros public e protected como protegidos

Resposta correta letra (A)

alguem sabe por que foi de public para protected?

O java restringe as classes o máximo possível, então ao herdar de uma classe ele adere a maior restrição.

Modificadores de Acesso

Existem os níveis de restrição. (do menos restrito -> Public ao mais restrito -> Private)

No caso o protected por ser + restrito que o public se sobrepõe em nível de segurança.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo