[C con Clase] Steven no contestes mi ultimo correo

rodolfo rosso paz rodolforossopaz en hotmail.com
Vie Jun 22 20:04:54 CEST 2007


Hola Programante.

Gracias, por seguir el tema con interés. Por cierto, hice lo que me 
sugeriste en
tu correo anterior respecto a crear un nuevo ambito para c33, lo cree para 
todos los objetos,
mira:


int main()
{
   {// crear un nuevo ambito para poder ver los destructores antes de 
abandonar main

   Cadena c1( "mortisaranga" );
   Cadena c2( " matachilanga" );
   Cadena c3;
   cout << "\n\n";

   // verifica el operador sobrecargado +
   //Cadena c33 = c1 + c2;  // esto tampoco funciona
   //Cadena c33;
   //   c33 = c1.operator+(c2);

   Cadena c33 = c1+c2;
   cout << "c33 arroja = " << c33 << "\n";
   cout << "direccion de c33 = " << &c33 << "\n";
   cout << "\n\n";

   // verifica el operador de llamada a función () sobrecargado para una 
subcadena
   cout << "La subcadena de c1 que comienza en 0 y tiene 8 caracteres es : "
        << c1( 0, 8 ) << "\n";

   } // fin del nuevo ambito

   system("pause");
   return 0;

} // fin de main


Y efectivamente, ahora puedo ver todos los destructores actuando, y el orden 
en
que destruyen los objetos

Gracias de nuevo, Dios te bendiga


Rodolfo


>From: Programante <programante en gmail.com>
>Reply-To: Lista de correo sobre C y C++ <cconclase en listas.conclase.net>
>To: Lista de correo sobre C y C++ <cconclase en listas.conclase.net>
>Subject: Re: [C con Clase] Steven no contestes mi ultimo correo
>Date: Fri, 22 Jun 2007 12:06:21 +0200
>
>rodolfo rosso paz escribió:
> > Hola Steven,
> >
> > luego de poner el correo que tenia sorry en el asunto:, segui buscando y
> > finalmente encontre la respuesta como a las 3 de la mañana.  La cadena 
>c33
> > tenia la misma dirección que el constructor de conversion le habia 
>puesto a
> > la cadena creada en la funcion operator+, (c1+c2).  Finalmente entendi 
>que
> > el compilador se chupa todos los pasos intermedios y le pone a la cadena
> > recien instanciada la misma dirección de la cadena creada en la suma.
> > Cuando dijiste que se ahorraba pasos, nunca pense que serian tantos.
> >
> > Gracias, me voy a dormir, y disculpa la molestia, espero que leas esto 
>antes
> > de leer el otro.
> >
> > Rodolfo
> >
>Cuando una función devuelve una clase, como es el caso de operator+, la
>función que le llama le dice
>en qué dirección de memoria almacenar el resultado. Como a continuación
>tendría que copiar el objeto
>temporal a uno permanente, se ve que se ahorra el paso haciendo que
>operator+ lo guarde directamente
>en donde quiere main().
>
>
>
>_______________________________________________
>Lista de correo Cconclase Cconclase en listas.conclase.net
>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger: 
http://messenger.latam.msn.com/





Más información sobre la lista de distribución Cconclase