elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda herencia c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda herencia c++  (Leído 1,420 veces)
johnnyd77

Desconectado Desconectado

Mensajes: 4


Ver Perfil
ayuda herencia c++
« en: 2 Noviembre 2016, 23:50 pm »

hola, disculpen la molestia pero necesito auyda con la materia de herencia y polimorfismo (mas herencia), lo que sucede es que hice un header llamado sistema.h y debo hacer 3 clases derivadas de la clase bus (vienen siendo semi cama, premium y salon cama) . en estas clases, tienen los mismos atributos pero solo se diferencian en la capacidad que tienen (semi cama 45, premium 20 y 30 salon cama) y no se como hacer que la otra clase sistema (que es un vector de bus) diferencie cuando es salon cama, semi cama y premium .  les agradeceria mucho su ayuda


Código
  1. #ifndef SISTEMA_H_
  2. #define SISTEMA_H_
  3.  
  4. class Bus {
  5. protected:
  6.    std::vector<std::string> asientos_;
  7.    std::string tipo_;
  8.    std::string origen_;
  9.    std::string destino_;
  10.    int precio_;
  11.    int hora_;
  12. public:
  13.    Bus(std::string tipo, size_t asientos, std::string origen, std::string destino, int precio, int hora) {
  14.        for (size_t i = 0; i < asientos; i++)
  15.        {
  16.            asientos_.push_back("");
  17.        }
  18.        tipo_ = tipo;
  19.        origen_ = origen;
  20.        destino_ = destino;
  21.        precio_ = precio;
  22.        hora_ = hora;
  23.    }
  24.  
  25.    void listarAsientos() {
  26.        std::cout << "Asientos disponibles: ";
  27.        for (size_t i = 0; i < asientos_.size(); i++)
  28.        {  
  29.            if(asientos_[i].size() == 0)
  30.            {
  31.                std::cout << i+1 << " ";
  32.            }
  33.        }
  34.        std::cout << std::endl;
  35.  
  36.        std::cout << "Asientos vendidos: ";
  37.        for (size_t i = 0; i < asientos_.size(); i++)
  38.        {
  39.            if(asientos_[i].size() != 0)
  40.            {
  41.                std::cout << i+1 << ": " << asientos_[i] << std::endl;
  42.            }
  43.        }
  44.        std::cout << std::endl;
  45.    }
  46.  
  47.    bool venderAsiento(int asiento, std::string rut) {
  48.        if(asientos_[asiento-1].size() == 0) {
  49.            asientos_[asiento-1] = rut;
  50.            return true;
  51.        }
  52.        return false;
  53.    }
  54.  
  55.    void info() {
  56.        std::cout << origen_ << "\t" << destino_ << "\t" << tipo_ << "\t" << hora_;
  57.    }
  58. };
  59.  
  60.  
  61.  
  62.  
  63. class semi_cama:public Bus {
  64. public:
  65.  
  66. }
  67.  
  68.  
  69. };
  70. class Sistema {
  71. protected:
  72.    std::vector<Bus> buses_;
  73. public:
  74.    Sistema(int buses) {
  75.        buses_.reserve(buses);
  76.    }
  77.  
  78.    void agendarBus(Bus bus) {
  79.        buses_.push_back(bus);
  80.    }
  81.  
  82.    void listarAgenda() {
  83.        std::cout << "Selector\tOrigen\t\tDestino\t\tTipo\t\tHora" << std::endl;
  84.        for (size_t i = 0; i < buses_.size(); i++)
  85.        {
  86.            std::cout << i+1 << "\t\t";
  87.            buses_[i].info();
  88.            std::cout << std::endl;
  89.        }
  90.    }
  91.  
  92.    void listarBus(int bus) {
  93.        buses_[bus-1].listarAsientos();
  94.    }
  95.  
  96.    bool venderPasaje(int bus, int asiento, std::string rut) {
  97.        if (buses_[bus-1].venderAsiento(asiento, rut) == false) {
  98.            std::cerr << "El asiento ya está vendido.\n";
  99.            return false;
  100.        }
  101.        return true;
  102.    }
  103. };
  104.  
  105. #endif
  106.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con ejercicios de herencia
Java
mili03 3 5,051 Último mensaje 25 Junio 2010, 17:51 pm
por Leyer
Ayuda con programa con herencia en C++
Programación C/C++
Y@mil 0 1,363 Último mensaje 17 Mayo 2015, 18:15 pm
por Y@mil
Ayuda con la plantilla y herencia
Programación C/C++
Akumadie 3 2,313 Último mensaje 28 Noviembre 2016, 13:23 pm
por Akumadie
ayuda on arraylist y herencia
Java
MATIAX656 1 2,097 Último mensaje 2 Diciembre 2016, 00:59 am
por 0xFer
Ayuda javascript (herencia + prototype)
Desarrollo Web
kgarcia994 2 2,347 Último mensaje 7 Enero 2017, 23:25 pm
por kgarcia994
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines