Problème d'héritage en cpp
Résolu/Fermé
surfeur29
Messages postés
75
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
18 novembre 2010
-
20 mai 2008 à 00:16
Ké - 24 avril 2009 à 12:43
Ké - 24 avril 2009 à 12:43
A voir également:
- Problème d'héritage en cpp
- Que du fake formate héritage - Forum Consommation & Internet
- Maison héritage avis ✓ - Forum Consommation & Internet
- Dev cpp - Télécharger - Langages
- Texte de don d'héritage ✓ - Forum Vos droits sur internet
- Modulo cpp ✓ - Forum C++
3 réponses
surfeur29
Messages postés
75
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
18 novembre 2010
5
27 mai 2008 à 15:30
27 mai 2008 à 15:30
up ! jsuis toujours bloqué !! es que quelqu'un peut m'aider ?? please ...
daronmaster
Messages postés
326
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
11 mai 2009
44
20 mai 2008 à 10:25
20 mai 2008 à 10:25
bonjour,
_parcelles n'est qu'un tableau de pointeur sur des Parcelle, donc tu ne trouvera jamais ed Terre ou Eau dans ce tableau car dès la création tu n'en mets aucun dedans:
si Eau et Terre dérive de Parcelle alors tu peux faire (comme tu l'as fait):
_parcelles = new Parcelle*[_nbParcelleX];
et alors à ce moment tu peux faire _parcelles[i] = new Eau() ou new Terre(), tu utilise à ce moment ce qu'on appelle le polymorphisme.
ensuite soit tu instancie dans tes classe un magic_number qui te permets de savoir quel est le type de l'objet utilisé soit tu fait un dynamic_cast, du genre if (dynamic_cast<Eau>_parcelles[i]){ ... ton_code...} et idem pour Terre.
voila j'espere t'avoir aidé et n'avoir pas dit trop de connerie
tchû
_parcelles n'est qu'un tableau de pointeur sur des Parcelle, donc tu ne trouvera jamais ed Terre ou Eau dans ce tableau car dès la création tu n'en mets aucun dedans:
si Eau et Terre dérive de Parcelle alors tu peux faire (comme tu l'as fait):
_parcelles = new Parcelle*[_nbParcelleX];
et alors à ce moment tu peux faire _parcelles[i] = new Eau() ou new Terre(), tu utilise à ce moment ce qu'on appelle le polymorphisme.
ensuite soit tu instancie dans tes classe un magic_number qui te permets de savoir quel est le type de l'objet utilisé soit tu fait un dynamic_cast, du genre if (dynamic_cast<Eau>_parcelles[i]){ ... ton_code...} et idem pour Terre.
voila j'espere t'avoir aidé et n'avoir pas dit trop de connerie
tchû
surfeur29
Messages postés
75
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
18 novembre 2010
5
20 mai 2008 à 14:33
20 mai 2008 à 14:33
merci de ton aide mais je ne comprends pas comment faire parce que mon tableau est en deux dimensions, je ne peux donc pas utiliser _parcelles[i] mais je suis obligé d'utiliser _parcelles[i][j] ... ou alors je me trompe... mais du coup lorsque je test ce que tu propose j'ai une erreur de segmentation ...
i a t-il une solution pour utiliser _parcelles[i][j] avec ton idée : _parcelles[i] = new Eau() ou new Terre() ?????
merci de ton aide
i a t-il une solution pour utiliser _parcelles[i][j] avec ton idée : _parcelles[i] = new Eau() ou new Terre() ?????
merci de ton aide