Bonjour,
Alors j'ai simplifier le code au maximum, c'est juste une question pour savoir comment faire.
Voici ce que je veux faire:
- Une classe mere
- Plusieurs classe fille
Ailleurs(dans le main par exemple)
- Un tableau qui contienne des elements de type classe fille
Le code:
Bon j'ai simplifier au maximum pour comprendre, pas de constructeur ni de variable bien sur dans mon cas les classes son un peu plus fourni
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
29
30
31
32
33
34
35
36 // Classe mere class Mere { public: virtual void Affichage(void) { printf("Je suis la Mere\n"); } } // Classe fille 1 class Fille_1 : public Mere { public: void Affichage(void) { printf("Je suis la fille 1\n"); } } // Classe fille 2 class Fille_2 : public Mere { public: void Affichage(void) { printf("Je suis la fille 2\n"); } } /* * */ // Classe fille N class Fille_N : public Mere { public: void Affichage(void) { printf("Je suis la fille N\n"); } }.
Et donc dans mon main je voudrais pouvoir faire ceci par exemple:
Et je voudrais obtenir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Mere* pTab[50]; pTab[0] = new Fille_1(); pTab[1] = new Fille_2(); pTab[2] = new Fille_2(); pTab[3] = new Fille_2(); pTab[4] = new Fille_1(); ... pTab[N] = new Fille_N(); // Affichage du tableau for(i=0; i<50; i++) pTab[i]->Affichage();
mais j'obtiens:Je suis la fille 1
Je suis la fille 2
Je suis la fille 2
Je suis la fille 2
Je suis la fille 1
...
Je suis la fille N
Je vois pas trop comment m'en sortir, comment lui dire d'appeler la fonction de son type de classe.Je suis la Mere
Je suis la Mere
Je suis la Mere
Je suis la Mere
Je suis la Mere
...
Je suis la Mere
Des idées? avec plaisir![]()
Partager