Bonjour tout le monde !
Je suis nouveau sur le forum et d�butant en C++. J'ai besoin d'aide sur mon programme.
Je vous mets d'abord quelques parties de mon code
Voici ma classe "Plateau":
Mon probl�me , c'est comment impl�menter le constructeur par copie et la m�thode "operator=" avec tableau d'objet pareil ??
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 class Plateau { public : Plateau (); Plateau (int h=21, int l=51); Plateau(Plateau const& copiePlateau); // Constructeur de copie Plateau& operator=(Plateau const& copiePlateau); ~Plateau(); void affiche(); void affiche_fichier(); int getLargeur() const; private : int hauteur; int largeur; Etat **tab; };
J'ai essay� plusieurs et fait quelques recherches mais je trouve pas.
Voici quelques impl�mentations de mes constructeurs:
Vous verrez que j'ai commenc� mais j'ai pas pu les finir.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 Plateau::Plateau () : hauteur(21), largeur(51), tab(0) { tab = new Etat*[hauteur]; for (int i=0; i < hauteur; i++) tab[i] = new Etat [largeur]; } Plateau::Plateau (int h, int l) : hauteur(h), largeur(l) { if ((hauteur > 0 && largeur > 0) || (hauteur % 2 != 0 && largeur % 2 != 0)) { tab = new Etat*[hauteur]; for (int i=0; i < hauteur; i++) tab[i] = new Etat [largeur]; } else { hauteur = 21; largeur = 51; tab = new Etat*[hauteur]; for (int i=0; i < hauteur; i++) tab[i] = new Etat [largeur]; } } Plateau::Plateau (Plateau const& copiePlateau) : hauteur(copiePlateur.hauteur), largeur(copiePlateau.largeur), tab(0) { tab = new Etat (*(copiePlateau.tab)); } Plateau& Plateau::operator=(Plateau const& copiePlateau) { if (this != &copiePlateau) { hauteur = copiePlateau.hauteur; largeur = copiePlateau.largeur; delete tab; } return *this; } Plateau::~Plateau() { for (int i=0; i < hauteur; i++) delete tab[i]; delete []tab; }
J'ai aussi eu des id�es comme utiliser une boucle pour copier le tableau case par case mais je sais si c'est pratique ou des fonctions comme "memcpy" ou autres.
Pour les autres m�thodes impl�ment�es aussi , si vous voyez des erreurs dites le moi.
Merci d'avance pour vos r�ponse.
Partager