[C con Clase] String - Funcion

Álvaro Gómez Uría alvarogomezuria en gmail.com
Lun Jul 9 16:26:14 CEST 2012


Muchisimas gracias por las respuestas!
Muy claras las explicaciones.

Saludos,
Alvaro.-

El 9 de julio de 2012 16:02, Steven Davidson <srd4121 en njit.edu> escribió:

> Hola Álvaro,
>
>
> On 7/9/2012 8:58 AM, Álvaro Gómez Uría wrote:
>
>> Hola,
>> Me gustaria saber si existe la posibilidad de usar un String como
>> nombre de una funcion?. Para que se entienda mejor pongo un ejemplo:
>>
>> String name = iter->movable->getName();
>> // Ahora quisiera usar name como nombre de otra funcion.
>> if(!name.isPlaying())
>> {
>> name.trigger();
>> }
>>
>>
> Según este ejemplo, el objeto 'String' realmente actúa como el objeto, del
> cual se invoca sus funciones miembro.
>
> 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.
>
> 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.
>
> La lógica sería la siguiente,
>
>     <clave,valor>
> ----------------------
> <"NPC_001",oNPC_001 &>
> <"NPC_002",oNPC_002 &>
> <"NPC_003",oNPC_003 &>
> <"NPC_004",oNPC_004 &>
> ...
>
> 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,
>
>  lista
> --------
> oNPC_001
> oNPC_002
> oNPC_003
> oNPC_004
> ...
>
> También podríamos guardar punteros a los objetos en el mapa en lugar de
> referencias.
>
>
> Espero que esto te oriente.
>
> Steven
>
>
>
> ______________________________**_________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/**mailman/listinfo/cconclase_**
> listas.conclase.net<http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net>
> Bajas: http://listas.conclase.net/**index.php?gid=2&mnu=FAQ<http://listas.conclase.net/index.php?gid=2&mnu=FAQ>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120709/418095f5/attachment.html>


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