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

¿puede una funcion devolver una clase?

Estas en el tema de ¿puede una funcion devolver una clase? en el foro de C/C++ en Foros del Web. Muy buenas, tengo otra pregunta como puede una función devolver una clase? Muchas gracias...
  #1 (permalink)  
Antiguo 23/04/2010, 03:09
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
¿puede una funcion devolver una clase?

Muy buenas, tengo otra pregunta

como puede una función devolver una clase?

Muchas gracias
  #2 (permalink)  
Antiguo 23/04/2010, 08:25
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: ¿puede una funcion devolver una clase?

Devuelves un puntero a una clase no una clase.
  #3 (permalink)  
Antiguo 23/04/2010, 08:32
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años
Puntos: 61
Respuesta: ¿puede una funcion devolver una clase?

Nunca es posible devolver una clase o un puntero a una clase o una referencia a una clase.
Una clase es una definicion conceptual, que luego vienes y defines objetos de ese tipo, y son esos objetos, o punteros a ellos o referencia a ellos los que puedes retornar.
  #4 (permalink)  
Antiguo 23/04/2010, 21:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: ¿puede una funcion devolver una clase?

Estoy casi seguro que en C++ es posible. Digo esto por que en python es posible devolver una clase. Y en c hay punteros a funciones. En c++ punteros de métodos de clases.

Todo apunta a que es posible, pero nunca lo he intentado.
  #5 (permalink)  
Antiguo 26/04/2010, 01:03
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿puede una funcion devolver una clase?

HOla buenas, muchas gracias, si que se puede devolver, con punteros por supuesto, otro problema es q estoy trabajando con recursividad y al hacer un break no me sale del bucle, sabeis algo sobre esto??

Muchas gracias!
  #6 (permalink)  
Antiguo 26/04/2010, 09:10
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: ¿puede una funcion devolver una clase?

Si postearas un pedazo del código donde te da problemas podríamos ayudarte.
  #7 (permalink)  
Antiguo 26/04/2010, 09:58
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿puede una funcion devolver una clase?

G* G:: BuscarElemento (int i)
{
G* current;
if (this->number==i) {
return this;
}
for (int n=0; n<containerSize(); n++)
{
if ((current=NthChild (n)))
{
if (current->number==i)
{
return current;
}
else
current->BuscarElemento(i);
}
}

}


El segundo return es el que en ciertos momentos no sale y por lo tanto no me devuelve nada y me da error, q esta mal????

Muchiiisimas gracias
  #8 (permalink)  
Antiguo 26/04/2010, 10:32
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: ¿puede una funcion devolver una clase?

Código:
if ((current=NthChild (n)))
Tal vez debería ser.
Código:
if ((current == NthChild (n)))
  #9 (permalink)  
Antiguo 26/04/2010, 18:42
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años
Puntos: 61
Respuesta: ¿puede una funcion devolver una clase?

Tienes que darle un valor de retorno al metodo para todos los caminos posibles, y yo no veo un return para todos ellos.
  #10 (permalink)  
Antiguo 27/04/2010, 00:39
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿puede una funcion devolver una clase?

Lo del == está bien porque asi estoy cogiendo el valor.

y lo de devolver en todos los casos, yo es q solo quiero que me devuelva en ese caso. Estoy buscando un objeto de un arbol q están numerados y por lo tanto solo quiero que me devuelva ese objeto.

Graciasssss!
  #11 (permalink)  
Antiguo 27/04/2010, 09:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: ¿puede una funcion devolver una clase?

Entonces tienes un árbol de objetos. Y estas haciendo una búsqueda a lo profundo.
Que pasa si de plano no encuentra ese objeto? Retornaría null, no?

Tampoco estoy muy seguro pero creo que current, debería pasarse como parámetro, para indicar el inicio y del árbol.
  #12 (permalink)  
Antiguo 27/04/2010, 10:07
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿puede una funcion devolver una clase?

Pero current no puedo pasarlo de parámetro porque es cada uno de los hijos, o si?
  #13 (permalink)  
Antiguo 27/04/2010, 10:34
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: ¿puede una funcion devolver una clase?

Te recomiendo un vistazo a búsqueda en profundidad.

También en ingles.
  #14 (permalink)  
Antiguo 28/04/2010, 05:41
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿puede una funcion devolver una clase?

Buenas, ya esta, al final lo he conseguido con una variable global,

muchas gracias!

Etiquetas: clase, devolver, funcion
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




La zona horaria es GMT -6. Ahora son las 20:35.