Pb classe

Signaler
Messages postés
91
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
31 août 2004
-
Messages postés
91
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
31 août 2004
-
j'ai créé un tableau dynamique dans une classe comme ca:

class MaClasse
{
public:
int m_largeur;
int m_hauteur;
int** m_tableau;
MaClasse(int lar,int hau);
};
MaClasse::MaClasse(int lar,int hau)
{
m_largeur = lar;
m_hauteur = hau;
m_tableau = new int*[m_largeur];
for(int i=0;i<m_largeur;i++)
m_tableau[i]=new int[m_hauteur];
}

ensuite j'ai créé un tableau d'objet:

MaClasse Obj[2] = {MaClasse(10,20),MaClasse(20,30),};

et enfin arrive mon pb estce que m_tableau est un pointeur et dans ce cas type_elt ce trouve contenir a present une adresse ou est ce qu'il contient la valeur stocker dans m_tableau[ligne][colonne].

for(int i=0;i<4;i++)
{
for(int colonne=0;colonne<Obj[i].m_largeur;colonne++)
{
for(int ligne=0;ligne<Obj[i].m_hauteur;ligne++)
{
type_elt = Obj[i].m_tableau[ligne][colonne];

//...

en clair est ce que c'est juste ou il faut ecrire
*(Obj[i].m_tableau[ligne][colonne];)
ou
Obj[i].*(m_tableau[ligne][colonne]);

merci d'avance!
A++

2 réponses

Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
deuxieme solution..

en faisant tab[i][j] tu as directement ton entier.

mais pkoi n'essaies tu pas tes deux solutions tout seul?
tu aurais eu ta reponse de suite...
Messages postés
91
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
31 août 2004

bon ben pour essayer ja'ai crée ce programme mais ca ne marche pas.
#include<econio.h>
#include

int touche =  NULL;
class Cmatrix
{
public:
int		m_tules;
int		m_horizontal;
int		m_vertical;
int		m_largeur;
int		m_hauteur;
int**	m_ecran;
int**	m_indic;
Cmatrix(int lar,int hau,int hor,int ver,int tul);
};
Cmatrix::Cmatrix(int lar,int hau,int hor,int ver,int tul)
{
m_largeur = lar;
m_hauteur = hau;
m_horizontal = hor;
m_vertical = ver;
m_tules = tul;
m_indic = new int*[m_largeur];
m_ecran = new int*[m_largeur];
for(int i=0;i<m_largeur;i++)
m_ecran[i]=new int[m_hauteur];
}
Cmatrix matrix[4] = {Cmatrix(25,19,0,4,32),Cmatrix(17,13,8,12,48),Cmatrix(13,10,16,20,64),Cmatrix(12,8,32,20,80)};

int main()
{
for(int colonne=0;colonne<matrix[0].m_largeur;colonne++)
{
cout <<" "<<matrix[0].m_indic[colonne]/* <<"   "<<*(matrix[0].m_indic[colonne]) */<<endl;

touche =getch();
if(touche == 'q')
    exit(1);
}
return 0;
}


la partie en commentaire en gras fait bugger mon ordi. sinon le reste marche j'ai compris que matrix[0].m_indic[colonne] renvoi une adresse mais j'arrive pas a obtenir la valeur.

aider moi!!