Código da Classe Veículos e sub-classes
Ir para navegação
Ir para pesquisar
#include <iostream>
#include <stdlib.h>
using namespace std;
class veiculo_rodoviario{ //SUPER CLASSE
private:
int nrodas;
int npassageiros;
public:
void setanrodas(int n){nrodas = n;}
int pegarodas(){return nrodas;}
void setanpassageiros(int m){npassageiros = m;}
int pegapassageiros(){return npassageiros;}
};
class caminhao: public veiculo_rodoviario{
int carga;
public:
void setacarga(int c){carga = c;}
int pegacarga(){return carga;}
void Mostra();
};
enum tipocarro {carro, van, SUV};
class automovel: public veiculo_rodoviario{
enum tipocarro tipo;
public:
void setatipo(tipocarro t){tipo = t;}
enum tipocarro pegatipo(){return tipo;}
void Mostra();
};
void caminhao::Mostra()
{
cout<< "\nNumero de rodas: "<< pegarodas() << endl;
cout<< "\nNumero de passageiros: "<< pegapassageiros() << endl;
cout<< "\nCarga suportada [ton]: "<< pegacarga() << endl;
cout << "\n\n";
}
void automovel::Mostra()
{
cout<< "\nNumero de rodas: "<< pegarodas() << endl;
cout<< "\nNumero de passageiros: "<< pegapassageiros() << endl;
cout<< "\ntipo de automóvel: ";
switch(pegatipo())
{
case carro: cout << " CARRO \n"<< endl; break;
case van: cout << " VAN ou MINI-VAN \n"<< endl; break;
case SUV: cout << " SUV ou utilitario \n"<< endl; break;
}
cout << "\n\n";
}
int main()
{ caminhao c1, c2;
automovel a1;
veiculo_rodoviario v;
c1.setanrodas(6); //metodos da super classe
c2.setanrodas(10); //metodos da super classe
c1.setanpassageiros(4); //metodos da super classe
c2.setanpassageiros(6); //metodos da super classe
c1.setacarga(2);
c2.setacarga(5);
c1.Mostra();
c2.Mostra();
a1.setanrodas(4);
a1.setanpassageiros(5);
a1.setatipo(van);
a1.Mostra(); //POLIMORFISMO
system("pause");
return 0;
}