albertoro
Messages postés1Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention 9 mars 2003
-
9 mars 2003 à 20:41
cs_davidsm
Messages postés35Date d'inscriptionlundi 6 janvier 2003StatutMembreDernière intervention12 novembre 2004
-
9 mars 2003 à 22:43
Bonjour.... voilà mon problème !!
J'ai plusieurs classes : Cylindre,Cube,Sphere,etc.... et j'aimerais pouvoir utiliser une classe "générique" OBJET me permettant d'appeler la procédure GETVOLUME du type en question... je m'explique.. en algo..
cs_davidsm
Messages postés35Date d'inscriptionlundi 6 janvier 2003StatutMembreDernière intervention12 novembre 2004 9 mars 2003 à 22:30
Bonjour,
Si je comprends, bien tu n'as un PB d'héritage mais un PB de polymorphisme.
Tes classes Cylindre, Cube, Sphere doivent dériver (hériter) d'une classe de base Volume.
Dans cette classe base, la fonction membre GETVOLUME() doit être déclarée avec le mot clef "virtual" en C++.
virtual --- getVolume(---);
Le corps de cette fonction peut être vide.
Dans les classes dérivées de Volume : Cylindre, Cube, Sphere tu déclares et définis le corps de la fonction GETVOLUME() adapté à chaque type de voume.
--- getVolume(---);
Cylindre::--- getVolume(---){
/ / calcul du volume pour le cylindre
}
cs_davidsm
Messages postés35Date d'inscriptionlundi 6 janvier 2003StatutMembreDernière intervention12 novembre 2004 9 mars 2003 à 22:43
Suite et remarque :
Tu écris :
Objet[0]=Cylindre;
Objet[1]=Cube;
Objet[2]=Sphere;
Si Objet est un tableau, tu ne peux pas stocker de objets de nature différente. Dans ton cas les instances : Cylindre, Cube, .. doivent être des instances de la même classe