duda c++

Vereis estoy mirandome algo de esto y tengo un pequeño problema

cuando declaro una clase pej

class pepe{
.... kilos de morralla
};

y ahora hago otra clase pero quiero que uno de sus atributos sea
un array de la clase pepe

clase paco{
public:
pepe arraydeloscojones[];
};

pero el compilador me explota.

a ver si podeis ayudarme :(
demnim escribió:Vereis estoy mirandome algo de esto y tengo un pequeño problema

cuando declaro una clase pej

class pepe{
.... kilos de morralla
};

y ahora hago otra clase pero quiero que uno de sus atributos sea
un array de la clase pepe

clase paco{
public:
pepe arraydeloscojones[];
};

pero el compilador me explota.

a ver si podeis ayudarme :(


Lo primero que deberias de hacer es ver ejemplos a troquimoche de como se hace y leerte un buen manual como por ejemplo este:

http://es.tldp.org/Manuales-LuCAS/doc-tutorial-c++/doc-tutorial-c++.pdf

Respecto a lo que preguntas:

A la hora de programar con clases necesitas 2 archivos, uno de librerias (con extension .h) y otro con el codigo en c++ (.cc o .cpp).

En el .h necesitas poner la declaracion de la clase (como minimo su forma canónica, la cual es la siguiente):


(PARA EL .h)

[size=100]
class ejemplo1{
  public:
    ejemplo1(); //constructor
    ~ejemplo1(); //destructor
    ejemplo1(const ejemplo1&); //constructor de copia
    ejemplo1& operator=(const ejemplo1&) //sobrecarga del op.
asignación

  private:
     int numero;
};
[/size]

luego, si quieres hacer métodos varios devolviendo un dato de otra clase ya hecha pues nada más sencillo que hacer lo siguiente:


[size=100]
class ejemplo1{
  public:
    ejemplo1(); //constructor
    ~ejemplo1(); //destructor
    ejemplo1(const ejemplo1&); //constructor de copia
    ejemplo1& operator=(const ejemplo1&) //sobrecarga del op.
asignación

  private:
     int numero;
};

class ejemplo2{
  public:
    ejemplo2();
    ~ejemplo2();
    ejemplo2(const ejemplo2&);
    ejemplo2& operator=(const ejemplo2&);
    [b]ejemplo1 NombreMetodo(tipo1, tipo2, tipo_n...);[/b]
  private:
     int numero;
};


[/size]

En el .cpp tendrás que rellenar con el código C++ todo lo declarado en el .h


De todos modos te recomiendo de nuevo que te vuelvas a mirar ese manual (el cual te puedo asegurar que esta bastante bien)

http://es.tldp.org/Manuales-LuCAS/doc-tutorial-c++/doc-tutorial-c++.pdf
Muchas gracias krausen :)
al final resolvi el problema!
2 respuestas