Un tableau dans une classe

cs_JediMaster Messages postés 91 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 31 août 2004 - 20 juin 2003 à 22:13
cs_JediMaster Messages postés 91 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 31 août 2004 - 21 juin 2003 à 01:12
salut tt le monde j'avais deja poser cet question mais je crois que celui qui ma repondu a pas compris la question donc je veux faire une classe avec un menbre qui est un tableau (facile non) le pb c'est que les objet de cet classe que je crérais je veux pas qu'il est la meme taille
je veux a peu pres ca:

class Maclasse
{
int tabeau[][];
}

Maclasse objet1.tableau[10][5];
Maclasse objet2.tableau[20][10];

pouvez vous m'aider serais sympas 8-)

6 réponses

davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
21 juin 2003 à 00:28
Hello.

si j'ai bien compris tu veux creer une matrice dynamique à deux dimensions dans ta classe.

une solution:

ds ta classe tu definis une matrice:
int ** matrice.

puis ds le constructeur:
matrice!new int*[10];
for (i=0;i<10;i++)
matrice[i]=new int[5]
0
cs_JediMaster Messages postés 91 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 31 août 2004
21 juin 2003 à 00:44
j'comprends pas c'est quoi le "!" tu peu comentez le code STP
ce serais vraiment cool

matrice!new int*[10];
for (i=0;i<10;i++)
matrice[i]=new int[5]
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
21 juin 2003 à 00:46
sorry faut de frappe:
matrice = new int*[10] // -> la premiere dimension est initialisée.
for (i=0;i<10;i++)
matrice[i]=new int[5] // la sesonde d'imension est initialisée.

c ok?
0
cs_JediMaster Messages postés 91 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 31 août 2004
21 juin 2003 à 00:58
et cette partie je la met dans le constructeur??
comment tu ferait le constructeur toi?(chuis pas tres fort)

et pk ici c'estun pointeur "*"
int*[10]
et ici non
int[5]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
21 juin 2003 à 01:07
la premiere partie est un pointeur et la sconde non, car en fait ta matrice est un tabelau de tableau.

voila une facon de faire.
class maclasse
{
int** matrice;
maclasse(unsigned int dim1, unsigned int dim2); //constructeur
};

et ton constructeur (dans ton .cpp) :

maclasse::maclasse( unsigned int dim1, unsigned int dim2)
{
matrice = new int*[dim1];
for (i=0;i<dim1;i++)
matrice[i]=new int[dim2] ;
}
0
cs_JediMaster Messages postés 91 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 31 août 2004
21 juin 2003 à 01:12
ouahhhh j'ai tout compris chuis trop content c'est trop sympas fallait p... si fallait :-p

A+ et merci :big)
0
Rejoignez-nous