Escolar Documentos
Profissional Documentos
Cultura Documentos
Heranca
Heranca
Licenciatura em Informática
Maputo, 2024
Bruno Alberto Magaia
Resposta:
Pois que permite a reutilizacao das classes, permitindo que uma determinada classe possa derivar
características, comportamentos ou estado(s) de uma outra classe.
A classe derivada pode herdar os metodos, ou ate mesmo as variaveis de uma determinada
classe (porem as mesmas devem estar visiveis ou com a visibilidade publica).
NB:
A classe base é também chamada de classe pai ou superclasse, e a classe derivada é chamada de
classe filha ou subclasse.
Reutilização de código: A classe derivada pode herdar os membros da classe base, evitando a
necessidade de reescrever o mesmo código várias vezes.
Resposta:
Neste tipo de herança, os membros públicos e protegidos da classe base são herdados como
membros públicos e protegidos, respectivamente, na classe derivada. Os membros privados da
classe base não são herdados.
Neste tipo de herança, os membros públicos e protegidos da classe base são herdados como
membros protegidos na classe derivada. Os membros privados da classe base não são herdados.
O tipo de herança protegida é menos comum do que a herança pública (public), e é utilizada
apenas quando se deseja restringir (ou limitar) o acesso direto aos membros herdados.
Neste tipo de herança, membros públicos (public) e protegidos (protected) da classe base são
herdados como membros privados na classe derivada.
Os membros privados da classe base não são herdados, a herança privada (private) é menos
comum e é utilizada quando se deseja ocultar completamente a relação de herança entre as
classes.
3. Descreve a sintaxe de cada tipo de herança.
#include <iostream>
using namespace std;
class aluno {
public:
void Exame() {
cout << "\n Eu vou me dedicar, para dispensar \n na cadeira de Lab no ano de 2024." <<
endl;
}
};
class Docente : public aluno {
public:
void dispensa() {
cout << "\n So Considerarei alunos dedicados." << endl;
}
};
int main() {
Docente docente;
docente.dispensa();
docente.Exame();
return 0;
}
Descrição da herança Protegida:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
class Aluno
{
protected:
double media(double t1,double t2)
{
return ((t1+t2)/2);
}
public:
}
};
int main() {
Docente docente;
docente.resultado();
return 0;
}
Descrição da herança Privada:
#include <iostream>
class Aluno
{
private:
double media[50];
int total=0;
public:
string Msg=msg1+" "+msg2+" "+msg3;
};
};
int main()
{
Docente dc;
cout<<"\n O Docente diz : "<<dc.Msg;
}
5. Crie uma classe base chamada "Pessoa" com atributos protegidos para o nome e a idade,
juntamente com métodos públicos para obter e definir esses atributos. Em seguida, crie
uma
classe derivada chamada "Estudante" que herda da classe "Pessoa" e adiciona um atributo
adicional para a matrícula do estudante, juntamente com métodos para obter e definir esse
atributo.
#include <iostream>
#include <string>
public:
Pessoa(string nome, int idade) : nome(nome), idade(idade) {}
public:
Estudante(string nome, int idade, string matricula)
: Pessoa(nome, idade), matricula(matricula) {}
string Ler_Matricula() const {
return matricula;
}
int main()
{
Pessoa pessoa("Magaia", 30);
cout << "\n Nome: " << pessoa.Ler_Nome() << ", idade: " << pessoa.Ler_Idade() <<
std::endl;
return 0;
}