vector dinamico - herencia

Iniciado por littlero, 6 Diciembre 2010, 22:10 PM

0 Miembros y 1 Visitante están viendo este tema.

littlero

hoola a todos! es mi primer post espeor q alguien pueda ayudarme  :D
el tema es el siguiente estoy haciendo un programa con herencia de clases, ya arme todas las clases y me falta armar el main que tiene q ser d ela sgte manera:

Presentar por pantalla un menú que permita crear un automóvil, crear una bicicleta todo terreno, crear una bicicleta de paseo y mostrar los automóviles, bicicletas todo terreno y de paseo. Esta ultima opción recorrerá un vector dinámico donde estarán guardados todos los automóviles, bicicletas todo terreno y de paseo, para lo cual se podrá utilizar la clase vector.

Las clases que tiene este programa son
VEHICULO:
1-AUTOMOVIL
2-BICICLETA
  2-1- TODO TERRENO
  2-2 - PASEO

La verdad q no se muy bien el tema de vector dinamico pero si o si tengo q hacerlo de esa manera
Espero que me puedan dar un idea, desde ya muchas gracias!
saludos! :-*







Código (cpp) [Seleccionar]
#include<iostream>


using namespace std;

//clase VEHICULO

class Vehiculo{
               private:
                       string sMarca,sColor;
                       int iRuedad;
               public:
                      Vehiculo(string sMarca, string sColor, int iRuedas)
                      {
                            this->sMarca=sMarca;
                            this->sColor=sColor;
                            this->iRuedas=iRuedas;
                      }
                     
                      void setMarca(string x){sMarca=x;}
                      void setColor(string x){sColor=x;}
                      void setRuedas(int x){iRuedas=x;}
                     
                      string getMarca() {return sMarca;}
                      string getColor(){return sColor;}
                      int getRuedas(){return iRuedas;}
                     
                      void MostrarVehiculo()
                      {  cout<<"Marca del Veiculo: "<<getMarca()<<endl<<"Color: "<<getColor()<<endl<<"Ruedas: "<<getRuedas()<<endl; }
                           
};


//clase AUTOMOVIL

class Automovil:public Vehiculo{
     
                   private:
                           string sCapMot;
                           int iPuertas;
                   public:
                          Automovil(string cap, int p, string sMarca, string scolor, int iRuedas):Vehiculo(sMarca, sColor, iRuedas)
                          {
                               sCapMot=cap;
                               sPuertas=p;
                          }
                         
                          void setCap(string x){sCapMot=x;}
                          void setPuerta(int x){iPuertas=x;}
                         
                          string getCap() {return sCapMot;}
                          int getPuerta(){return iPuertas;}
                         
                          void MostrarAuto()
                          {
                               cout<<"Auto"<<endl<<"Capacidad del Motor: "<<getCap()<<endl<<"Puertas: "<<getPuerta()<<endl;
                               MostrarVehiculo;
                          }
};



//clase BICICLETA

class Bicicleta : public Vehiculo{
                       private:
                               int iCambios;
                       public:
                              Bicicleta(int cambios, string sMarca, string sColor, int iRuedas):Vehiculo(sMarca, sColor, iRuedas)
                              {
                                  iCambios=cambios;
                              }
                             
                              void setCambio(int x) {iCambios=x;}
                              int getCambio() {return iCambios;}
                             
                              void MostrarBicicleta()
                              {
                                 cout<<"Bicicleta:"<<endl;
                                 MostrarVehiculo();
                                 cout<<"Cantidad de Cambios:"<<getCambio()<<endl;
                              }
                             
};


//clase Todo Terreno... bicicleta


class TodoTerreno : public Bicicleta{
                          private:
                                   string sAmort;
                          public:
                                 TodoTerreno(string amort, int cambios, string sMarca, string sColor, int iRuedas):Bicicleta(cambios, sMarca, sColor, iRuedas)
                                 {
                                      sAmort=amort;
                                 }
                                 
                                 void setAmort(string x){sAmort=x;}
                                 string getAmort() {return sAmort;}
                                 
                                 void MostrarTodoTerreno()
                                 {
                                      MostrarBicicleta();
                                      cout<<"Amortiguadores: "<<getAmort()<<endl;
                                 }
};



//clase De Paseo... bicicleta

class Paseo : public Bicicleta{
                              private:
                                      string sCanasto;
                              public:
                                     Paseo(string canasto, int cambios, string sMarca, string sColor, int iRuedas):Bicicleta(cambios,sMarca,sColor,iRuedas)
                                     {
                                         sCanasto=canasto;
                                     }
                                     
                                     void setCanasto(string x) {sCanasto=x;}
                                     string getCanasto() { return sCanasto;}
                                     
                                     void MostrarPaseo()
                                     {
                                          MostrarBicicleta();
                                          cout<<"Canasto: "<<getCanasto()<<endl;
                                     }
};


//funcion MAIN

int main()
{

   

Littlehorse

Bienvenido al foro Littlero. Lo que te falta es basicamente el menú? tal vez te sirva este link.

En cuanto a la clase vector, todo lo que necesitas saber se encuentra acá. Si luego de leer eso queda alguna duda, la posteas en este hilo.

Saludos!

PD: Para poner código utiliza las etiquetas geshi:

C
[code=c]código[/code]

C++
[code=cpp]código[/code]
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

littlero

gracias por la info, ahora ya pude hacerlo al programa!
Gracias por la ayuda!  :laugh:
saludos!