Mon problème :
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>
apriori ptr2 ne connait pas le type de ptr1, mais si on veut dupliquer
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 ?