#include
using namespace std;
enum type {carro, van, wagon};
// Definicao da classe generica veiculo
class veiculo {
int passageiros;
int rodas;
public:
void set_rodas(int num) { rodas = num; } ;
int get_rodas() { return rodas; };
void set_pass(int num) { passageiros = num; } ;
int get_pass() { return passageiros; };
};
// Definicao da classe caminhao
class caminhao : public veiculo {
int carga;
public:
void set_carga(int num) { carga = num; };
int get_carga() { return carga; };
void show();
};
// Definicao da classe automovel
class automovel : public veiculo {
enum type tipo_auto;
public:
void set_type(enum type t) {tipo_auto = t; };
enum type get_type() { return tipo_auto; };
void show();
};
// Descrição das Funções
void caminhao::show()
{
cout << "\nInformacao do Caminhao\n";
cout << "Quantidade de rodas: " << get_rodas() << endl;
cout << "Quantidade maxima de passageiros: " << get_pass() << endl;
cout << "Capacidade maxima para transporte (carga): " << get_carga() << endl;
}
void automovel::show()
{
cout << "\nInformacao do Automovel\n";
cout << "Quantidade de rodas: " << get_rodas() << endl;
cout << "Quantidade maxima de passageiros: " << get_pass() << endl;
cout << "Tipo de automovel: ";
switch(get_type()) {
case van: cout << " Van\n";
break;
case carro: cout << " Carro\n";
break;
case wagon: cout << " Wagon\n";
break;
}
}
int main()
{
caminhao t1, t2;
automovel c;
t1.set_rodas(18);
t1.set_pass(2);
t1.set_carga(3200);
t2.set_rodas(6);
t2.set_pass(3);
t2.set_carga(1200);
t1.show();
t2.show();
c.set_rodas(4);
c.set_pass(10);
c.set_type(van);
c.show();
system("pause");
return 0;
}
Nenhum comentário:
Postar um comentário