Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: littlero en 6 Diciembre 2010, 22:10 pm



Título: vector dinamico - herencia
Publicado por: littlero en 6 Diciembre 2010, 22:10 pm
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
  1. #include<iostream>
  2.  
  3.  
  4. using namespace std;
  5.  
  6. //clase VEHICULO
  7.  
  8. class Vehiculo{
  9.                private:
  10.                        string sMarca,sColor;
  11.                        int iRuedad;
  12.                public:
  13.                       Vehiculo(string sMarca, string sColor, int iRuedas)
  14.                       {
  15.                             this->sMarca=sMarca;
  16.                             this->sColor=sColor;
  17.                             this->iRuedas=iRuedas;
  18.                       }
  19.  
  20.                       void setMarca(string x){sMarca=x;}
  21.                       void setColor(string x){sColor=x;}
  22.                       void setRuedas(int x){iRuedas=x;}
  23.  
  24.                       string getMarca() {return sMarca;}
  25.                       string getColor(){return sColor;}
  26.                       int getRuedas(){return iRuedas;}
  27.  
  28.                       void MostrarVehiculo()
  29.                       {  cout<<"Marca del Veiculo: "<<getMarca()<<endl<<"Color: "<<getColor()<<endl<<"Ruedas: "<<getRuedas()<<endl; }
  30.  
  31. };
  32.  
  33.  
  34. //clase AUTOMOVIL
  35.  
  36. class Automovil:public Vehiculo{
  37.  
  38.                    private:
  39.                            string sCapMot;
  40.                            int iPuertas;
  41.                    public:
  42.                           Automovil(string cap, int p, string sMarca, string scolor, int iRuedas):Vehiculo(sMarca, sColor, iRuedas)
  43.                           {
  44.                                sCapMot=cap;
  45.                                sPuertas=p;
  46.                           }
  47.  
  48.                           void setCap(string x){sCapMot=x;}
  49.                           void setPuerta(int x){iPuertas=x;}
  50.  
  51.                           string getCap() {return sCapMot;}
  52.                           int getPuerta(){return iPuertas;}
  53.  
  54.                           void MostrarAuto()
  55.                           {
  56.                                cout<<"Auto"<<endl<<"Capacidad del Motor: "<<getCap()<<endl<<"Puertas: "<<getPuerta()<<endl;
  57.                                MostrarVehiculo;
  58.                           }
  59. };
  60.  
  61.  
  62.  
  63. //clase BICICLETA
  64.  
  65. class Bicicleta : public Vehiculo{
  66.                        private:
  67.                                int iCambios;
  68.                        public:
  69.                               Bicicleta(int cambios, string sMarca, string sColor, int iRuedas):Vehiculo(sMarca, sColor, iRuedas)
  70.                               {
  71.                                   iCambios=cambios;
  72.                               }
  73.  
  74.                               void setCambio(int x) {iCambios=x;}
  75.                               int getCambio() {return iCambios;}
  76.  
  77.                               void MostrarBicicleta()
  78.                               {
  79.                                  cout<<"Bicicleta:"<<endl;
  80.                                  MostrarVehiculo();
  81.                                  cout<<"Cantidad de Cambios:"<<getCambio()<<endl;
  82.                               }
  83.  
  84. };
  85.  
  86.  
  87. //clase Todo Terreno... bicicleta
  88.  
  89.  
  90. class TodoTerreno : public Bicicleta{
  91.                           private:
  92.                                    string sAmort;
  93.                           public:
  94.                                  TodoTerreno(string amort, int cambios, string sMarca, string sColor, int iRuedas):Bicicleta(cambios, sMarca, sColor, iRuedas)
  95.                                  {
  96.                                       sAmort=amort;
  97.                                  }
  98.  
  99.                                  void setAmort(string x){sAmort=x;}
  100.                                  string getAmort() {return sAmort;}
  101.  
  102.                                  void MostrarTodoTerreno()
  103.                                  {
  104.                                       MostrarBicicleta();
  105.                                       cout<<"Amortiguadores: "<<getAmort()<<endl;
  106.                                  }
  107. };
  108.  
  109.  
  110.  
  111. //clase De Paseo... bicicleta
  112.  
  113. class Paseo : public Bicicleta{
  114.                               private:
  115.                                       string sCanasto;
  116.                               public:
  117.                                      Paseo(string canasto, int cambios, string sMarca, string sColor, int iRuedas):Bicicleta(cambios,sMarca,sColor,iRuedas)
  118.                                      {
  119.                                          sCanasto=canasto;
  120.                                      }
  121.  
  122.                                      void setCanasto(string x) {sCanasto=x;}
  123.                                      string getCanasto() { return sCanasto;}
  124.  
  125.                                      void MostrarPaseo()
  126.                                      {
  127.                                           MostrarBicicleta();
  128.                                           cout<<"Canasto: "<<getCanasto()<<endl;
  129.                                      }
  130. };
  131.  
  132.  
  133. //funcion MAIN
  134.  
  135. int main()
  136. {
   


Título: Re: vector dinamico - herencia
Publicado por: Littlehorse en 6 Diciembre 2010, 23:22 pm
Bienvenido al foro Littlero. Lo que te falta es basicamente el menú? tal vez te sirva este link (http://foro.elhacker.net/programacion_cc/para_que_dejeis_de_preguntar_de_una_vez_por_los_menus-t276719.0.html).

En cuanto a la clase vector, todo lo que necesitas saber se encuentra acá (http://www.cplusplus.com/reference/stl/vector/). 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]


Título: Re: vector dinamico - herencia
Publicado por: littlero en 7 Diciembre 2010, 05:25 am
gracias por la info, ahora ya pude hacerlo al programa!
Gracias por la ayuda!  :laugh:
saludos!