Mon problème :
apriori ptr2 ne connait pas le type de ptr1, mais si on veut dupliquer
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 class Mere { public: Mere() { ;} // default ctor }; template<class TYPE> class Fille : public Mere // fille derive de Mere { TYPE i; public: Fille() { ; } // default ctor Fille(const TYPE& j) : i(j) // ctor : copy j dans i { ; } Fille& operator=(const Fille& f) { i = f.i;} // definition de l'opérateur = }; int main(int argc, char *argv[]) { Fille<int>* ptr1; ptr1 = new Fille<int>(1); //.... quelque part dans le programme .... Mere* ptr2 = ptr1; // ptr1 et ptr2 pointent sur le même objet Fille<int> ptr2 = new Fille<???>(); // cree un nouvel objet Fille<int> ???? (*ptr2) = (*ptr1); // use operator = de la classe Fille<int>
les données, il doit connaitre le type utilisé dans le patron.
Mon problème c'est par quoi remplacer les <???>. Est ce que c'est
possible ?
Partager