Bonjour,
J'ai une classe interface:
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 class IMemoire { public: virtual void Insert(int i) = 0; //... };
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
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; };
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).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 IMemoire* memram = new MemoireRam; IMemoire* memHD = new MemoireDisqueDur; memHD = memRam;
Merci pour votre aide!
Cordialement,
Rodrigue
Partager