Pesquisar neste blog

quarta-feira, 17 de dezembro de 2008

Código de exemplo usando Herança - C++

// Herança
#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: