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":

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;
 
};
Mon probl�me , c'est comment impl�menter le constructeur par copie et la m�thode "operator=" avec tableau d'objet pareil ??
J'ai essay� plusieurs et fait quelques recherches mais je trouve pas.
Voici quelques impl�mentations de mes constructeurs:
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;
}
Vous verrez que j'ai commenc� mais j'ai pas pu les finir.
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.