Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/10/2008, 09:18
adryande
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Devolver objetos locales

Eso lo tengo hecho en el codigo, incluso en el del operador= y el del cronstructor copia (no lo puse por resumir).
Lo que ocurre es que no se si es nomral que pueda sacar a fuera de la funcion un objeto que se creo dentro.

En este caso, en "funcion" creo un objeto llamado "ret" que segun tengo entendido, deberia destruirse al salir de la funcion, por salir fuera de su ambito.
Sin embargo, al asignarselo mediante "objeto=funcion()" a otro objeto, no se destruye (no se destruye hasta que termina el programa o lo destruyo yo mismo).

La salida que me da es:
Código:
llamada al constructor
Cuando se supone que deberia ser:
Código:
llamada al constructor
llamada al destructor
y error por asignar a "objeto" el objeto "ret" que retorna la funcion y donde fue declarado de forma local.

Se que me explico muy mal pero creo que se puede entender...

Última edición por adryande; 02/10/2008 a las 09:34