Muchisimas gracias por las respuestas!<div>Muy claras las explicaciones.</div><div><br></div><div>Saludos,</div><div>Alvaro.-<br><br><div class="gmail_quote">El 9 de julio de 2012 16:02, Steven Davidson <span dir="ltr"><<a href="mailto:srd4121@njit.edu" target="_blank">srd4121@njit.edu</a>></span> escribió:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hola Álvaro,<div class="im"><br>
<br>
On 7/9/2012 8:58 AM, Álvaro Gómez Uría wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hola,<br>
Me gustaria saber si existe la posibilidad de usar un String como<br>
nombre de una funcion?. Para que se entienda mejor pongo un ejemplo:<br>
<br>
String name = iter->movable->getName();<br>
// Ahora quisiera usar name como nombre de otra funcion.<br>
if(!name.isPlaying())<br>
{<br>
name.trigger();<br>
}<br>
<br>
</blockquote>
<br></div>
Según este ejemplo, el objeto 'String' realmente actúa como el objeto, del cual se invoca sus funciones miembro.<br>
<br>
La respuesta breve es: "no". La explicación es que ese nombre es un conjunto de valores. Como C++ es compilado, el compilador no tiene la más mínima idea de los valores y de hecho los valores no forman parte del código fuente. Habría sido interesante que C++ aceptara cadenas constantes como identificadores de entidades en el código fuente, pero me temo que no es el caso.<br>


<br>
La solución es crear un array asociativo que a veces se llama "mapa". Puedes usar la clase-plantilla 'map', definida en <map>, para asociar un objeto como clave con otro objeto como el valor. Esta solución es muy parecida a la que se usa en las bases de datos basadas en las relaciones entre entidades.<br>


<br>
La lógica sería la siguiente,<br>
<br>
    <clave,valor><br>
----------------------<br>
<"NPC_001",oNPC_001 &><br>
<"NPC_002",oNPC_002 &><br>
<"NPC_003",oNPC_003 &><br>
<"NPC_004",oNPC_004 &><br>
...<br>
<br>
Aquí los valores siguen la nomenclatura de 'objeto &' que se refiere a una referencia de un objeto. Esto es porque mantendremos los objetos instanciados en otra tabla o lista. Por ejemplo,<br>
<br>
 lista<br>
--------<br>
oNPC_001<br>
oNPC_002<br>
oNPC_003<br>
oNPC_004<br>
...<br>
<br>
También podríamos guardar punteros a los objetos en el mapa en lugar de referencias.<br>
<br>
<br>
Espero que esto te oriente.<span class="HOEnZb"><font color="#888888"><br>
<br>
Steven</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
______________________________<u></u>_________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/<u></u>mailman/listinfo/cconclase_<u></u>listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/<u></u>index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br></div>