estudar1920 – as heranças simples, em c++
As heranças “simples”, herança única, tem como precipícios que a classe que for derivada herda:
se o acesso for private: herda os membros públicos e protegidos como privados;
se o acesso for protected: herda os membros públicos e protegidos como protegidos;
se o acesso for public: herda exatamente os mesmos níveis de proteção dos membros da classe-base;
exemplo:
#include <iostream> using namespace std; class Veiculo { private: int passageiros, velocidade; public: Veiculo(); ~Veiculo(); int getPassageiros(); void setPassageiros(int p); int getVelocidade(); void setVelocidade(int v); void Imprime(); }; Veiculo::Veiculo() { } Veiculo::~Veiculo() { cout << "\ndestrutor do veiculo com velocidade " << getVelocidade() << endl; passageiros = NULL; velocidade = NULL; } void Veiculo::setPassageiros(int p) { passageiros = p; } int Veiculo::getPassageiros() { return passageiros; } void Veiculo::setVelocidade(int v) { velocidade = v; } int Veiculo::getVelocidade() { return velocidade; } void Veiculo::Imprime() { cout << "\nImprime do Veiculo com velocidade " << getVelocidade() << endl; } //as heranças class Automovel : public Veiculo { private: string tipo; public: Automovel(); ~Automovel(); void setTipo(string s); string getTipo(); void Imprime(); }; Automovel::Automovel() { } Automovel::~Automovel() { cout << "\ndestrutor do automovel com velocidade: " << getVelocidade() <<endl; tipo = ""; } void Automovel::setTipo(string s) { tipo = s; } string Automovel::getTipo() { return tipo; } void Automovel::Imprime() { cout << "\nImprime do Automovel com velocidade: " << getVelocidade() << endl; } class Comboio : public Veiculo { private: int carruagens; public: Comboio(); ~Comboio(); void setCarruagens(int c); int getCarruagens(); void Imprime(); }; Comboio::Comboio() { } void Comboio::setCarruagens(int c) { carruagens = c; } int Comboio::getCarruagens() { return carruagens; } Comboio::~Comboio() { cout << "\ndestrutor do comboio com velocidade " << getVelocidade() << endl; } void Comboio::Imprime() { cout << "\nImprime do Comboio com velocidade " << getVelocidade() << endl; } int main() { Veiculo vei1; vei1.Imprime(); Automovel auto1, auto2; auto1.setTipo("renault"); auto1.setVelocidade(120); auto1.setPassageiros(4); auto1.Imprime(); Comboio comb1; comb1.setCarruagens(4); comb1.setVelocidade(220); comb1.Imprime(); return 0; }
Tags : herança, inheritance, Learn C plus plus
0 thoughts on “estudar1920 – as heranças simples, em c++”