Salut tout le monde!
Voilà, j'ai un problème avec des classes, et je voudrais savoir si je peux le solutionner avec un constructeur de copie.
Voilà un exemple de ce que je veux faire, J'ai la classe A, et j'ai
ensuite B,C,D qui dérivent toutes de A. Dans chacune des classe B,C et
D je redéfini des propriétés et des méthodes. j'ai une fonction
générique qui reçoit A*a en paramètre afin d'englober toutes les
classes que je peux recevoir sans distinction de type.
Ce que je veux faire c'est une copie de la classe reçue... seulement si
je fais une copie de ce que j'ai en paramètre, je fais une copie de A,
et non pas de B, C ou D....
Comment je peux faire pour que quand je copie A, en fait je recopie la vrais classe que j'ai passé en paramètre??:
class A
{
...
};
class B:public A
{
...
};
class C:public A
{
...
};
class D:public A
{
...
};
...
B *b = new B();
fonction(b);
...
fonction(A *a)
{
A copie;
//faire une copie de b et non de a
}
Dans cette exemple, si je fais "copie(*a)", j'aurais une copie de "a" et non pas de "b" que j'ai passé en paramètre...
Voilà mon problème, merci...