Duda sobre la creación de múltiples variables en C++ de manera similar al código ActionScript

Buenas, mi duda se trata de que yo programo en ActionScript, que por lo que me parece está basado en C++.
Y una vez tuve la necesidad de crear 20 variables llamadas "casa1", "casa2"... "casa20", todas con la cadena "vacía". Y me recomendaron crearlas con el siguiente código (es actionScript, pero supongo que lo entenderás)
---------------
for(i=1; i>21; i++){
nombre="casa"
[nombre+1] = "vacía"
}
---------------
Y eso me creaba las 20 variables.
Mi pregunta es, ¿desde C++ se puede hacer algo así?
Desde ya, Gracias
---
Sel

1 respuesta

Respuesta
1
ActionScript se parece al JavaScript que se parece a Java y C.
El código no lo entiendo bien, supongo que crea una variable casa, el nombre+1 no entiendo que significa.
Ahora, en C++ tendrías que crear un arreglo de cadenas de longitud 20, quedando así:
//definimos el arreglo
char * casa[20] //20 casas
//a cada le ponemos "vacía"
for (int i=0; i<20; i++) {
casa = strdup("vacía");
}
http://www.modelo.edu.mx/univ/virtech/circuito/dllvb.htm
Ok, muchas gracias.
ahhh, no, es que no es una matriz con 20 campos.
Son 20 variables distintas.
Lo que pasa es que en ActionScript se podía usar el contenido de una variable (en el ejemplo que puse, el contenido de nombre es "casa") para crear una variable con ese nombre ("casa") si se pone entre corchetes
Es decir que si pongo:
----
nombre = "casa"
[nombre] = "vacia"
----
Esto crearía dos variables
Una llamada nombre que contiene la cadena "casa"
Y otra llamada casa (obtenida del contenido de "nombre") y que contiene una cadena "vacia"
Es necesario que no sean matrices, porque tienen que ser de una clase definida por mi.
Y de esa forma si en lugar de poner solo [nombre] pongo [nombre+i] e i es igual a 3 la variable se llamaría "casa3"
C++ No es tan flexible en ese aspecto, no se puede crear una variable mediante un cadena, la variable tiene que definirse con un nombre y así queda.
En tu caso, como quieres 20 variables distintas, dos opciones, teniendo en cuenta que son de una clase que tu defines:
- Crear las variables a la mala (cosa que no se debe hacer):
MiClase casa1;
MiClase casa2;
etc.
- Crear un arreglo de MiClase de longitud 20, o en su defecto, un arreglo de punteros a MiClase.
El primero: MiClase arr[20];
El segundo: MiClase* arr[20];
para acceder por ejm a la casa 1 sería así
Casa1 = arr[0];

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas