Bonjour à tous.
Considérons le code suivant :
le résultat en console donneCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include<iostream> class A { public: void echo() { std::cout<<"class A"<<std::endl; } }; class B : public A { public: void echo() { std::cout<<"class B"<<std::endl; } }; int main () { A * a = new B; a->echo(); B * b = new B; b->echo(); delete a; delete b; }
Cela m'aurai bien arrangé que le résultat soit :Citation:
class A
class B
En fait j'aimerai que a initialement de type class A devienne de type class B lorsque je fais une allocation de type B.Citation:
class B
class B
Mais apparemment le type d'origine prévaut sur l'allocation même si c'est une classe fille.
(et pourtant je passe par des pointeurs !)
Dommage.
Avez vous une solution pour mon problème ?
en fait l'intérêt est d'avoir un type générique et de pouvoir par la suite choisir de quel sous type est réellement une variable.