Bonjour,

J'ai une classe interface:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class IMemoire
{
public:
   virtual void Insert(int i) = 0;
   //...
};
dont deux autres classes, des implémentations, héritent:
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
class MemoireDisqueDur : public IMemoire
{
public:
   virtual void Insert(int i) { //...}
   //...
private:
   DATAHD data;
};
class MemoireRam : public IMemoire
{
public:
   virtual void Insert(int i) { //...}
   //...
private:
   DATARAM data;
};
Mon problème est que je souhaiterais pouvoir affecter des objets MemoireRam à des objets MemoireDisqueDur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
IMemoire* memram = new MemoireRam;
IMemoire* memHD = new MemoireDisqueDur;
memHD = memRam;
Il faut donc je fasse une conversion de DATARAM vers DATAHD... Comment faire? Il faut que je surcharge l'opérateur = mais comment faire en sorte de ne pas devoir le réécrire pour chaque type de conversion (mettons que j'ai 10 implémentations qui découlent de ma classe IMemoire).

Merci pour votre aide!
Cordialement,
Rodrigue