<div dir="ltr"><div><div><div>De hecho si ese era el error , la inicializacion de las referencias , en el ejemplo no puse todo el codigo paro es cierto que tenia un constructor en machin que inicializaba las referencias , despues lo que hice en el constructor copia fue lo siguiente <br>
<br></div>XXX(XXX const &a):z(a.z){cout<<a.z.get();}<br><br></div>Algo asi , y funciono bien , muchas gracias or la ayuda seguire preguntando pero ya con otros ejercicios ,<br><br></div>hasta pronto<br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2014-03-13 19:06 GMT+01:00 Salvador Pozo Coronado <span dir="ltr"><<a href="mailto:salvador@conclase.net" target="_blank">salvador@conclase.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Estimado Miguel,<br>
<br>
Bueno,  veo  varios problemas, no sólo en el constructor copia de XXX,<br>
sino también en el constructor a partir de machin.<br>
<br>
En  la clase machin, uno de los miembros es una referencia constante a<br>
un objeto de la clase X.<br>
<br>
Las  referencias  no  se  pueden  dejar  sin  asignar,  de modo que es<br>
obligatorio   declarar   un   constructor  para  machin que inicialice<br>
esa referencia con un valor válido. Por poner un ejemplo:<br>
<br>
       machin(const X& x): refX(x), b() {}<br>
<br>
No  existe  un  constructor  para  machin  que  use como parámetro una<br>
referencia  constante  a un objeto machin. El que he definido en antes<br>
usa una referencia a X, y es el único contructor.<br>
<br>
Además,   igual   que   con  machin,  debemos  inicializar  todas  las<br>
referencias  que  existan,  en  este caso, refmachin. Una opción sería<br>
esta:<br>
<br>
   XXX(machin const & p):z(p.getX()),refmachin(p) { cout<< z.getb();} // pas de problème<br>
<br>
El  el  otro constructor de XXX pasa lo mismo, necesitamos inicializar<br>
obligatoriamente  todas las referencias, y este es el mensaje de error<br>
que recibes "referencia no inicializada".<br>
<br>
Como también hay que inicializar z, de la clase machin, y esa clase no<br>
tiene constructor copia, tendremos que usar el constructor disponible:<br>
<br>
   XXX(XXX const &xxx) : z(xxx.z.getX()), refmachin(xxx.refmachin) { cout<<z.getb();}<br>
<br>
En  definitiva,  no  sé  qué errores son producto del ejemplo, pero el<br>
error que comentas es por no inicializar las referencias.<br>
<br>
Recuerda que siempre es obligatorio inicializar las referencias.<br>
<div class="HOEnZb"><div class="h5"><br>
Hasta pronto.<br>
--<br>
Saludos,<br>
Salvador  mailto:<a href="mailto:salvador@conclase.net">salvador@conclase.net</a><br>
Con Clase:  <a href="http://www.conclase.net" target="_blank">http://www.conclase.net</a><br>
Blog con Clase: <a href="http://blogconclase.wordpress.com" target="_blank">http://blogconclase.wordpress.com</a><br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>MIGUEL ALEJANDRO JIMENEZ R.<br>
</div>