![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Un array de dos simensiones en C/C++ no es ni mas ni menos que un ountero a un puintero, por lo tanto:
Código:
class TEscenario {
public:
TEscenario();
(...)
char ** Tiles;
};
Código:
Tiles = new char*[Dimension1];
for(int n=0; n<Dimension1; n++)
Tiles [n] = new char[Dimension2];
Código:
for(int n=0; n<Dimension1; n++)
delete [] Tiles [n];
delete [] Tiles:
|
|
#2
|
|||
|
|||
|
Hola a ambos, muchas gracias por vuestras respuestas.
escafandra, esa idea ya la había barajado y la tenía como última opción, ya que me parece muy engorroso tener que pedir la memoria en el constructor e introducir los valores, ya que son unos valores estáticos y definidos para cada subclase. LoPiTaL, vaya PEDAZO de idea, no se me había ocurrido, pero es exactamente lo que busco: puedo inicializarlo fácilmente y puedo pedir los valores tan simple como Escenario.Tiles(N,N).Muchas gracias a los dos, me habéis dado una alegría >.< |
|
#3
|
||||
|
||||
|
Cita:
Según lo que entiendo de tu último post, preendes hacer un miembro static de la clase. estos se declaran en la clase (archivo.h) y se inicializan fuera (archivo .cpp) en un lugar donde estemos seguros que se va a ejecutar. Se trataría de hacer algo como esto: Código:
class TEscenario {
public:
TEscenario();
static BYTE **Tiles;
};
BYTE Tiles[][2] = {{1,2}, {2,3}}; // Los valores...
BYTE **TEscenario::Tiles = Tiles;
Creo que es esto lo que preguntas. Saludos. |
|
#4
|
|||
|
|||
|
Ya lo solucioné, hice esto:
Código:
class TEscenario {
public:
TEscenario();
(...)
virtual u8 Tile(u32 Y, u32 X)=0;
};
class Escenario1: public TEscenario{
private:
static const u8 Tiles[27][177];
public:
Escenario1();
u8 Tile(u32 Y, u32 X);
};
u8 Escenario1::Tile(u32 Y, u32 X){
return Tiles[Y][X];
}
const u8 Escenario1::Tiles[27][177]={inicializo}
Sobre los archivos de cabecera, tengo un lío, se supone que en los .h declaras las variables y las funciones y en los .cpp las defines, ¿no? Lo he intentado pero me da problemas, será que no sé muy bien cómo va. ¿Tienen que llamarse igual cambiando la extensión y estar en la misma carpeta? ¿Al incluirlo con #include se especifica el .h y este ya sabe encontrar el .cpp? Ahora mismo estoy utilizando sólo el .cpp, y es el que incluyo, funciona, pero me gusta hacer las cosas bien y me gustaría usar el .h. Saludos. |
|
#5
|
||||
|
||||
|
Para los archivos cabecera de un proyecto, lo normal es que estén en la carpeta del cpp que los incluye. En ese caso se incluyen así:
Código:
#include "archivo.h" |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problema con array | JULIPO | Varios | 1 | 12-03-2009 02:10:30 |
| Array Of bytes [Problema] | Ðαяισš | Varios | 3 | 31-12-2008 09:22:23 |
| Problema con Array | MikyVato | Varios | 3 | 28-01-2007 03:00:40 |
| problema con array de componentes | nenufer | Varios | 2 | 06-06-2006 11:44:28 |
| problema con un array de tipos | aram2r | OOP | 5 | 08-06-2005 09:54:28 |
|