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:
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");
	}
}
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 .

Et donc dans mon main je voudrais pouvoir faire ceci par exemple:
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();
Et je voudrais obtenir:
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
mais j'obtiens:
Je suis la Mere
Je suis la Mere
Je suis la Mere
Je suis la Mere
Je suis la Mere
...
Je suis la Mere
Je vois pas trop comment m'en sortir, comment lui dire d'appeler la fonction de son type de classe.

Des idées? avec plaisir