<div>Hola Omar,<br><br></div><div class="gmail_quote">2011/6/19 omar mendoza <span dir="ltr"><<a href="mailto:omar.p9@gmail.com">omar.p9@gmail.com</a>></span><br><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
hola a todos, tengo una clase template de la siguiente manera</blockquote><div> </div><div>[CORTE]</div><div> </div><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
tal vez m falte sintaxis aquí para explicarles, pero el programa compila y al ejecutarlo sale "violación de segmento" al hacer lo siguiente en otra clase<div>
<div><br></div><div><div>         Map<SpecificUnit>  *sp = new Map<SpecificUnit>;</div><div><br></div><div><span style="white-space: pre-wrap;">        </span>  sp = units->getSpecifics();</div></div>
<div><br></div><div><br></div><div>donde units es </div><div><br></div><div>GenUnitsXML *units = new GenUnitsXML;</div></div></blockquote><div> </div><div>[CORTE]</div><div> </div><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
<div><div>no sé por qué hay un error en getSpecifics(), pues solo es un método q devuelve un atributo, es decir, es un   get.</div><div>Alguien que me pueda orientar??</div></div></blockquote><div> </div><div>El problema es que 'sp' guarda un objeto nuevo que creaste dinámicamente:<br>
<br>Map<SpecificUnit>  *sp = new Map<SpecificUnit>;</div><div> </div><div>Nada más hacer esto, modificas 'sp' para que apunte a otro objeto, así:</div><div> </div><div>sp = units->getSpecifics();</div>
<div> </div><div>Esto significa que estás perdiendo la memoria que creaste dinámicamente, porque no tienes esa dirección de memoria, al modificar 'sp'.</div><div> </div><div> </div><div>El otro problema es que ahora 'sp' apunta a la información de un miembro de 'units', debido a las indiscriminaciones de 'getSpecifics()'. Se puede producir un error si se destruye 'units', pero se sigue usando 'sp', ya que esa dirección de memoria no sería válida.</div>
<div> </div><div>Creo que deberías rediseñar todo esto para no dar acceso directo a los miembros de un objeto; esto rompe el encapsulamiento de la POO.</div><div> </div><div> </div><div>Espero que esto te oriente.</div><div>
 </div><div>Steven</div><div> </div></div>