#include <iostream>
using namespace std;
char f;
class Vehiculo {
protected:
string numeroMotor;
string marca;
string modelo;
string color;
int pasajeros;
public:
Vehiculo(string numMotor, string m, string mod, string col, int p)
: numeroMotor(numMotor), marca(m), modelo(mod), color(col), pasajeros(p) {
cout << "Constructor de Vehiculo utilizado." << endl;
}
virtual ~Vehiculo() {
cout << "Destructor de Vehiculo utilizado." << endl;
}
void mostrarInformacion() {
cout << "Numero de motor: " << numeroMotor << endl;
cout << "Marca: " << marca << endl;
cout << "Modelo: " << modelo << endl;
cout << "Color: " << color << endl;
cout << "Pasajeros: " << pasajeros << endl;
}
};
class Camion : public Vehiculo {
public:
Camion(string numMotor, string m, string mod, string col, int p)
: Vehiculo(numMotor, m, mod, col, p) {
cout << "Constructor de Camion utilizado." << endl;
}
~Camion() override {
cout << "Destructor de Camion utilizado." << endl;
}
};
class Auto : public Vehiculo {
public:
Auto(string numMotor, string m, string mod, string col, int p)
: Vehiculo(numMotor, m, mod, col, p) {
cout << "Constructor de Auto utilizado." << endl;
}
~Auto() override {
cout << "Destructor de Auto utilizado." << endl;
}
};
class Camioneta : public Vehiculo {
public:
Camioneta(string numMotor, string m, string mod, string col, int p)
: Vehiculo(numMotor, m, mod, col, p) {
cout << "Constructor de Camioneta utilizado." << endl;
}
~Camioneta() override {
cout << "Destructor de Camioneta utilizado." << endl;
}
};
class Motocicleta : public Vehiculo {
public:
Motocicleta(string numMotor, string m, string mod, string col, int p)
: Vehiculo(numMotor, m, mod, col, p) {
cout << "Constructor de Motocicleta utilizado." << endl;
}
~Motocicleta() override {
cout << "Destructor de Motocicleta utilizado." << endl;
}
};
int main() {
do{
char opcion;
cout << "Es el vehiculo particular (P) o publico (U)? ";
cin >> opcion;
string numMotor, marca, modelo, color;
int pasajeros;
cout << "Numero de motor: ";
cin >> numMotor;
cout << "Marca: ";
cin >> marca;
cout << "Modelo: ";
cin >> modelo;
cout << "Color: ";
cin >> color;
cout << "Numero de pasajeros: ";
cin >> pasajeros;
if (opcion == 'P' || opcion == 'p' || opcion == 'u' || opcion == 'U') {
cout << "Es camion (C), auto (A), camioneta (T) o moto (M)? ";
cin >> opcion;
} if (opcion == 'U' || opcion == 'u') {
Vehiculo vehiculo(numMotor, marca, modelo, color, pasajeros);
vehiculo.mostrarInformacion();
} else if (opcion == 'C' || opcion =='c') {
Camion camion(numMotor, marca, modelo, color, pasajeros);
camion.mostrarInformacion();
cout << "Tipo de vehiculo: Camion" << endl;
} else if (opcion == 'A' || opcion == 'a') {
Auto autoVehiculo(numMotor, marca, modelo, color, pasajeros);
autoVehiculo.mostrarInformacion();
cout << "Tipo de vehiculo: Auto" << endl;
} else if (opcion == 'T' || opcion == 't') {
Camioneta camioneta(numMotor, marca, modelo, color, pasajeros);
camioneta.mostrarInformacion();
cout << "Tipo de vehiculo: Camioneta" << endl;
} else if (opcion == 'M' || opcion == 'm') {
Motocicleta moto(numMotor, marca, modelo, color, pasajeros);
moto.mostrarInformacion();
cout << "Tipo de vehiculo: Motocicleta" << endl;
}
cout << endl << "Desea repetir el programa?";
cin >> f;
}while(f=='s' || f=='S');
return 0;
}