PDA

View Full Version : C++ e array multidimensionali


PhantomX
02-07-2007, 17:22
ciao a tutti,

mi servirebbe un consiglio: in una classe devo inizializzare un array di int a 2 dimensioni. Vorrei poterlo dichiarare nel mio file .h per renderlo visibile a tutta la classe, e poi inizializzarlo nel costruttore della classe... bhe nn ci riesco!

mi aiutate

vizzz
02-07-2007, 17:41
ciao a tutti,

mi servirebbe un consiglio: in una classe devo inizializzare un array di int a 2 dimensioni. Vorrei poterlo dichiarare nel mio file .h per renderlo visibile a tutta la classe, e poi inizializzarlo nel costruttore della classe... bhe nn ci riesco!

mi aiutate

facci vedere come lo dichiari e dove!

PhantomX
02-07-2007, 17:55
guarda ti butto giu' una bozza:

### file Evaluation.h

class Evaluation{
qui dichiaro la variabile dell'array

public:
Evaluation(void);
}

### file Evaluation.cpp

#include "Evaluation.h"

Evaluation::Evaluation(void){
qui inizializzo a zero l'array
}

vizzz
02-07-2007, 18:21
guarda ti butto giu' una bozza:

### file Evaluation.h

class Evaluation{
qui dichiaro la variabile dell'array

public:
Evaluation(void);
}

### file Evaluation.cpp

#include "Evaluation.h"

Evaluation::Evaluation(void){
qui inizializzo a zero l'array
}

che tipo di errori ti da?
l'array io lo metterei almeno protected.

tomminno
02-07-2007, 23:59
guarda ti butto giu' una bozza:

### file Evaluation.h

class Evaluation{
qui dichiaro la variabile dell'array

public:
Evaluation(void);
}

### file Evaluation.cpp

#include "Evaluation.h"

Evaluation::Evaluation(void){
qui inizializzo a zero l'array
}

Magari se specifichi come lo dichiari e come lo inizializzi, forse il problema sta proprio li.

cionci
03-07-2007, 09:48
Manca il ; in fondo alla classe...

PhantomX
03-07-2007, 09:53
si il mio problema e' proprio la dichiarazione e l inizializzazione...

comunque ieri sera dopo 1000 tentativi sono riuscito a fare, anche se non capisco che senso abbiano le cose che ho scritto :stordita:

quindi la dichiarazione nel file h

int (*myArray)[2];

e l inizializzazione nel cpp

myArray=new int[100][2];

Un ultima cosa: il programma che ho scritto e' fatto come win32 console application di visual studio 2005; per mettergli un iterfaccia grafica devo ripartire con un progetto MFC o simili o c'e' un modo + semplice?

comunque grazie per le risposte :D

mapomapo
03-07-2007, 14:19
non capisco cosa tu stia facendo.....vuoi allocare dinamicamente la memoria per un array multidimensionale??

io non dichiarerei un vettore di puntatori a int...bensė un
int **pointer;

poi lė allochi dinamicamente il vettore di puntatori e con un ciclo for allochi gli int....
praticamente dovresti avere due new, la prima di int *, la seconda di semplici int...

Vito