Código da Classe Veículos e sub-classes

De IFSC
Revisão de 11h59min de 28 de novembro de 2019 por imported>Fargoud (Criou página com ' #include <iostream> #include <stdlib.h> using namespace std; class veiculo_rodoviario{ //SUPER CLASSE private: int nrodas; int npassageiros; public: void...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
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;
}