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

Próximas questões
Com base no mesmo assunto
Q1393652 Programação
Considere o código abaixo, escrito na linguagem de programação C++, que é o arquivo Aluno.hpp (supondo que exista um arquivo previamente escrito chamado Pessoa.hpp).
#ifndef _Aluno_H #define _Aluno_H #include “Pessoa.hpp” #include <string> usingnamespacestd; class Aluno: public Pessoa { private: string curso; string semestre; public: Aluno(); stringobtemCurso(); voidconfiguraCurso(); stringobtemSemestre(); voidconfiguraSemestre)(; ); #endif

Sobre o código, assinale a alternativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Resposta Correta: B - Aluno é subclasse da superclasse Pessoa e herda dela atributos e métodos.

Para compreender a questão e a resposta correta, é essencial ter um conhecimento básico sobre o conceito de herança na programação orientada a objetos, que é um dos pilares fundamentais desse paradigma. Herança é um mecanismo pelo qual uma classe (conhecida como subclasse ou classe derivada) pode herdar atributos e métodos de outra classe (chamada superclasse ou classe base).

No código apresentado, temos a declaração da classe Aluno que herda da classe Pessoa. Isto é indicado pela sintaxe class Aluno : public Pessoa, que estabelece uma relação de herança onde Aluno é a subclasse e Pessoa é a superclasse.

Além disso, é importante notar o uso das diretivas de pré-processamento #ifndef, #define e #endif, que servem para evitar a inclusão múltipla do mesmo arquivo de cabeçalho, o que poderia causar problemas de definição repetida de classes ou funções.

A classe Aluno possui seus próprios atributos privados (curso e semestre) e métodos públicos para obter e configurar esses atributos (obtemCurso, configuraCurso, obtemSemestre e configuraSemestre), além de herdar quaisquer atributos e métodos públicos ou protegidos da classe Pessoa.

As demais opções são incorretas porque:

  • A - Inverte erroneamente a relação de herança, colocando Aluno como superclasse.
  • C - Inverte erroneamente a relação de herança, além de errar ao dizer que Pessoa herda de Aluno.
  • D - Corretamente identifica Pessoa como superclasse, mas erra ao afirmar que ela herda de Aluno, quando na verdade é o contrário.
  • E - Incorreto, pois o código claramente estabelece uma relação de herança entre Aluno e Pessoa.

Portanto, a alternativa correta é a B, que corretamente identifica que Aluno é uma subclasse que herda da superclasse Pessoa, obtendo seus atributos e métodos, e isso está em conformidade com os princípios de herança na programação orientada a objetos.

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

AJUDA NA FORMATAÇÃO AI QCONCURSO!

 class Aluno: public Pessoa {

Significa que a classe Aluno herda métodos e atributos da classe Pessoa, a principio, pois não vemos classe Pessoa.

Vamos as alternativas:

A) Aluno é superclasse da subclasse Pessoa e herda dela atributos e métodos.

Incorreta, aluno é subclasse;

B) Aluno é subclasse da superclasse Pessoa e herda dela atributos e métodos.

Correta, GABARITO DA QUESTÃO

C) Pessoa é subclasse da superclasse Aluno e herda dela atributos e métodos.

Incorreta, pessoa é superclasse de Aluno;

D) Pessoa é superclasse da subclasse Aluno e herda dela atributos e métodos.

Incorreta, Pessoa estende seus atributos e métodos à subclasse Aluno

E) Não existe qualquer relação entre as classes Aluno e Pessoa.

Incorreta, a relação é a de herança;

Clique para visualizar este comentário

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