Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
796 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++ / VC++] Gros probleme de déclaration de classes :(

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++ / VC++] Gros probleme de déclaration de classes :(

n°449084
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 21:07:12  profilanswer
 

:hello:  
 
j'ai un problème pour déclarer mes classes.
les voici :
 
 

Code :
  1. // la classe jForme
  2. // classe virtuelle pure qui va contenir différentes formes
  3. class jForme{
  4. public :
  5.      
  6.      
  7.      
  8. virtual jPoint appartient(int, int, int, int) const =0;
  9.      
  10.      
  11. };
  12. // la classe jPoint
  13. class jPoint:public jForme{
  14. public :
  15.      
  16.      
  17. virtual jPoint appartient(int xClic, int yClic, int zClic, int precis)const{
  18.               // le code de la fonction
  19. }
  20.      
  21.      
  22. };


 
le probleme est que ca ne compile pas.
 
c'est normal pq la déclaration de fonction dans jForme est incorrecte pq il ne connait pas jPoint
 
Cependant si je mets la class jPoint avant la class jForme ca va pas pq jPoint hérite de jForme ...
 
alors comment faire ???
 
help !!
 
 
edit : voilà g viré les ":"  :kaola:


Message édité par camarchepoa le 04-07-2003 à 21:21:17
mood
Publicité
Posté le 04-07-2003 à 21:07:12  profilanswer
 

n°449085
chrisbk
-
Posté le 04-07-2003 à 21:11:58  profilanswer
 

c koi cette rimbabelle de : ??
 
ton modele est foireux

n°449088
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 21:14:49  profilanswer
 

chrisbk a écrit :

c koi cette rimbabelle de : ??
 
ton modele est foireux


 
bah c pour dire qu'il y a d'autres choses dans les class  :D  :lol:  
 
modele foireux ? il doit bien y avoir un moyen  :fou:

n°449094
Taz
bisounours-codeur
Posté le 04-07-2003 à 21:27:27  profilanswer
 

ben il y a la solution de déclarer la classe avant

Code :
  1. class Truc;

le problème c'est que tu ne peux utiliser que des pointeurs sinon le compilo à besoin de la déclaration complète pour avoir la taille du type. donc ça ne fonctionnera pas. ton problème, c'est la conception. t'es entrain de bricolé une fabrique. fo que ta fonction renvoie un Base*

n°449101
jotb
Mon nom est Capitaine.
Posté le 04-07-2003 à 21:32:17  profilanswer
 

faudrait peut etre que la fonction retourne quelque chose ?

n°449102
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 21:33:19  profilanswer
 


 
je pense que c'est la meilleure solution ...
 
ou sinon il faut que jPoint n'hérite plus de jForme ....  
 
 
:cry:  :cry:  :cry:  :cry:  :cry:  
:cry:    j'ai les boules    :cry:  
:cry:  :cry:  :cry:  :cry:  :cry:  

n°449103
Taz
bisounours-codeur
Posté le 04-07-2003 à 21:34:34  profilanswer
 

pourkoi? il est ou le problème avec la technique que je viens de t'exposer?

n°449104
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 21:35:17  profilanswer
 

jotb a écrit :

faudrait peut etre que la fonction retourne quelque chose ?


 
oui oui elle retourne quelque chose en vrai ... là c juste pour l'exemple, pq si je sort tout le code il y en a pour la nuit  
 
 
et pis apres vous allez me dire que ca c pas bien  :heink: , ca on peut faire mieux  :heink: , mais qu'est-ce-que c'est que cette horreur  :whistle:  :ouch: ...

n°449108
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 21:41:22  profilanswer
 

++Taz a écrit :

ben il y a la solution de déclarer la classe avant

Code :
  1. class Truc;

le problème c'est que tu ne peux utiliser que des pointeurs sinon le compilo à besoin de la déclaration complète pour avoir la taille du type. donc ça ne fonctionnera pas. ton problème, c'est la conception. t'es entrain de bricolé une fabrique. fo que ta fonction renvoie un Base*


 
euh ... je comprends pas trop ...
 
il faudra que j'utilise des pointeurs pour quoi ?
pour les données de ma classe ?
oulàlà, comprends pas ...

n°449111
jotb
Mon nom est Capitaine.
Posté le 04-07-2003 à 21:52:15  profilanswer
 

CaMarchePoa a écrit :


 
oui oui elle retourne quelque chose en vrai ... là c juste pour l'exemple, pq si je sort tout le code il y en a pour la nuit  
 
 
et pis apres vous allez me dire que ca c pas bien  :heink: , ca on peut faire mieux  :heink: , mais qu'est-ce-que c'est que cette horreur  :whistle:  :ouch: ...


 
ah ok, mille excuses.  :jap:
 
autre piste : il sert à quoi le virtual devant ta fonction dans JForme ?


Message édité par jotb le 04-07-2003 à 21:53:32
mood
Publicité
Posté le 04-07-2003 à 21:52:15  profilanswer
 

n°449115
Taz
bisounours-codeur
Posté le 04-07-2003 à 22:00:32  profilanswer
 

jotb a écrit :


autre piste : il sert à quoi le virtual devant ta fonction dans JForme ?

:heink: t'es sur de comprendre ce dont on parle ou tu demandes une explication de ce que ça veut dire?

n°449117
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 22:01:00  profilanswer
 

jotb a écrit :


 
ah ok, mille excuses.  :jap:
 
autre piste : il sert à quoi le virtual devant ta fonction dans JForme ?


 
c pour dire que dans les classes dérivées il va falloir écrire cette fonction (même prototype) mais adapté à la classe dérivée.
 
ca me permet d'avoir un vector contenant des jFormes et d'appeller cette fonction pour chaque objet du vector sans que je saches de quelle classe dérivée provient l'objet  
cool non ?

n°449122
Taz
bisounours-codeur
Posté le 04-07-2003 à 22:06:37  profilanswer
 

ben il faut comprendre que le prototypes des fonctions membres doit etre le meme. donc pour le type de retour, on renvoit un pointer Base *. comme ça
 

Code :
  1. Base* Derivée1::f() { return new Derivée1;}
  2. Base* Derivée2::f() { return new Derivée2;}

la foire au polymorphisme en somme

n°449128
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 22:14:21  profilanswer
 

++Taz a écrit :

ben il faut comprendre que le prototypes des fonctions membres doit etre le meme. donc pour le type de retour, on renvoit un pointer Base *. comme ça
 

Code :
  1. Base* Derivée1::f() { return new Derivée1;}
  2. Base* Derivée2::f() { return new Derivée2;}

la foire au polymorphisme en somme


 
ooops ... je comprends pas tres bien
 
je pense que c un peu compliqué pour moi  :cry:  
 
bah là je sais pas trop quoi faire  
faut que je trouve comment faire d'autre
 
je vais pas réussir à faire ca c sur :(
 

n°449134
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 22:17:30  profilanswer
 


 
je vais finir par devenir dépressif avec cette histoire de projet de M****
 
 :ouch: le pire c que j'aime çà  :ouch:  
 

n°449135
Taz
bisounours-codeur
Posté le 04-07-2003 à 22:18:49  profilanswer
 

alors arrete de code, trouve toi un bon bouquin et apprend le chapitre sur le polymorphisme et de bonnes révisions sur l'heritage devraient pas te faire de mal

n°449137
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 22:21:58  profilanswer
 

++Taz a écrit :

alors arrete de code, trouve toi un bon bouquin et apprend le chapitre sur le polymorphisme et de bonnes révisions sur l'heritage devraient pas te faire de mal


 
c ce que je pense aussi ....
le problème c le temps : projet de fin d'année à finir pour lundi ... dur dur apres 1 semaine d'exams ...
 
et encore heureusement que je m'y étais pris en avance  :sweat:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++ / VC++] Gros probleme de déclaration de classes :(

 

Sujets relatifs
probleme de miniatures d'images[PHP] probleme refresh cause de requete
[MCD] Problème de modélisation[VB.Net] Problème général sur les forms en VB. Net
Petit probleme de client smtpProblème de temps
Borland => problème avec exceptions[C++] faire un vector de classes héritées
Probleme d'exportation de constante membre[Eclipse] Développement de fragments de plugin (problème)
Plus de sujets relatifs à : [C++ / VC++] Gros probleme de déclaration de classes :(


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR