[C con Clase] Otra duda

Miguel Alejandro Jimenez Ramirez cerberbero en gmail.com
Jue Mar 13 18:25:33 CET 2014


Me ha funcionado muy bien ,asi ya entiendo mas lo que es enviar un valor
por referencia y por valor.

Pero como tuve que cambiar una parte de mi codigo , ahora tengo problemas
con la lista de inicializacion de un constructor copia , mira el ejemplo:


class X
{  private:
    string a;
   public :
   X (const &)=delete;
   string getSt() const {return a;}
   void *lamethode*(){ cout << "NiHao"; };
};
class machin
{  private:

*const X &refX;   string b;*
   public:
  machin (const & )=delete;
  string getb()const{return b;}
   *const X& getX()const{return refX;} *
};
class XXX
{
   private:
   machin z;

   public:
   *const machin &ref**machin**;*
   XXX(machin const & p):z(p){ cout<< z.getb();} // pas de problème

   XXX(XXX const &){ cout<<z.getb();}


   void afficher()
   {*        cout << ref**machin**.getX().lamethode();*
   }

};


Bueno mi pregunta es en el constructor copia de XXX , el compilador me
envia un error en mi ejemplo:

uninitialized reference member 'Exemplaire::e' [-fpermissive]

Donde Exemplaire es la clase y e es un miembro privado de esta , en este
caso podemos decir que XX es Exemplaire y que z es como e.
Me dice que la inicializacion no esta bien y la verdad no se como hacerla
para que no tenga problemas en este constructor copia , me podrias ayudar
en este caso?



2014-03-13 18:05 GMT+01:00 Salvador Pozo Coronado <salvador en conclase.net>:

> Estimado Miguel,
>
> Con respecto a mi última respuesta, he cometido un error.
>
> Aunque no es necesario eliminar la memoria asignada a "list", sí lo es
> con respecto a los elementos que contiene.
>
> Tu solución del último mensaje es correcta, de este modo se recorre el
> vector  y  se  elimina  cada  elemento  almacenado.  De  otro  modo se
> produciría una fuga de memoria.
>
> Entiendo  que son condiciones de diseño, y que debes almacenar objetos
> creados  dinámicamente  mediante  punteros.  Pero  si  en lugar de eso
> almacenaras objetos, toda la memoria se liberaría de forma automática.
>
> Hasta pronto.
> --
> Saludos,
> Salvador  mailto:salvador en conclase.net
> Con Clase:  http://www.conclase.net
> Blog con Clase: http://blogconclase.wordpress.com
>
>
> _______________________________________________
> 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
>



-- 
MIGUEL ALEJANDRO JIMENEZ R.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20140313/663fc485/attachment.html>


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