Foros del Web » Programación para mayores de 30 ;) » C/C++ »

PROBLEMA con clases en C++

Estas en el tema de PROBLEMA con clases en C++ en el foro de C/C++ en Foros del Web. A ver el problema es el siguiente, Tengo una clase, llamemosla A. Pero para ser creada necesita un constructor con datos (por ejemplo un entero ...
  #1 (permalink)  
Antiguo 13/07/2010, 20:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 79
Antigüedad: 15 años, 8 meses
Puntos: 0
PROBLEMA con clases en C++

A ver el problema es el siguiente,

Tengo una clase, llamemosla A. Pero para ser creada necesita un constructor con datos (por ejemplo un entero x)

Luego tengo otra clase B que tiene a la clase A como una variable privada.

Para entenderse (escrito en algo como pseudocodigo):

class A
constructor A(entero x);
...
end

class B
constructor B(entero y)
...
...
private:
A Elto;
end.

Cuando compilo me da error por que parece ser que el compilador intenta crear la variable de nombre Elto y por supuesto que no puede en ese momento.

Un saludo! Y muchas gracias!
  #2 (permalink)  
Antiguo 13/07/2010, 20:32
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: PROBLEMA con clases en C++

Lo que tienes que hacer es definir a la variable elto como un puntero a la clase A.

A * Elto;

Luego en el contructor de la variable B haces:
Elto = new A(entero)
  #3 (permalink)  
Antiguo 13/07/2010, 21:03
 
Fecha de Ingreso: marzo-2009
Mensajes: 79
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: PROBLEMA con clases en C++

Es verdad! muchas gracias,

debe ser la hora... xDDD
  #4 (permalink)  
Antiguo 14/07/2010, 09:03
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: PROBLEMA con clases en C++

ok mira si entiendo lo quieres hacer esta es la solucion


class claseA
{
int _val;
public:
claseA()
{

}
claseA(int val)
{
_val = val;
}
};

class claseB
{
claseA objetoA;
public:
claseB():objetoA()
{

}
claseB(int x):objetoA(x)
{
}
};

Etiquetas: c++, c/c++, clases, constructor, lenguaje, objetos, programacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:15.