Fonction de reconnaissance de classe
Résolu/Fermé
adeline11
Messages postés
54
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
18 février 2010
-
17 mars 2009 à 18:56
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 18 mars 2009 à 08:56
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 18 mars 2009 à 08:56
A voir également:
- Outlook une fonction de reconnaissance interne a reporté une erreur
- Erreur 0x80070643 - Accueil - Windows
- Fonction si et - Guide
- Erreur 1001 outlook - Accueil - Bureautique
- Créer une adresse mail outlook - Guide
- Reconnaissance musique en ligne sans télécharger - Guide
1 réponse
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
18 mars 2009 à 08:56
18 mars 2009 à 08:56
Salut.
Il faut utiliser les surcharge de méthodes virtuelles.
class A{
virtual string nom(){return "class A";};
...}
class B:public A{
virtual string nom(){return "class B";};
...}
class C:public A{
virtual string nom(){return "class C";};
...}
Par contre, pour l'utiliser, tu ne peux pas faire comme tu l'as dit, c'est plutôt :
En effet, les classes B et C n'ont pas forcément la même taille que la classe A, elle ne pourrait alors pas rentrer dans les cases du tableaux (dont chaque case a une taille bien définie).
Ensuite, en faisant a[i]->nom() tu saura quelle type de classe est la ième case du tableau.
Il faut utiliser les surcharge de méthodes virtuelles.
class A{
virtual string nom(){return "class A";};
...}
class B:public A{
virtual string nom(){return "class B";};
...}
class C:public A{
virtual string nom(){return "class C";};
...}
Par contre, pour l'utiliser, tu ne peux pas faire comme tu l'as dit, c'est plutôt :
A* a[2]; B b; C c; a[0]=&b; a[1]=&c;
En effet, les classes B et C n'ont pas forcément la même taille que la classe A, elle ne pourrait alors pas rentrer dans les cases du tableaux (dont chaque case a une taille bien définie).
Ensuite, en faisant a[i]->nom() tu saura quelle type de classe est la ième case du tableau.