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

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Inclusion multiples

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Inclusion multiples

n°568733
bb138
La vie est belle ...
Posté le 17-11-2003 à 11:06:47  profilanswer
 

Bonjour,
Je voudrais faire en C++ quelque chose comme ca:

Code :
  1. class A {
  2. ...
  3. fctA();
  4. ...
  5. friend B::fctB();
  6. ...
  7. };


et

Code :
  1. class B {
  2. ...
  3. fctB();
  4. ...
  5. friend A::fctA();
  6. ...
  7. };


Cependant, j'ai des problemes d'inclusions puisque je ne peut pas declarer class A sans avoir declare totalement class B et vice versa.
 
La seule solution est-elle de faire une declaration du type

Code :
  1. class X {
  2. ...
  3. fctX();
  4. ...
  5. friend classY;
  6. ...
  7. };


ou en existe-t-il d'autres ?

mood
Publicité
Posté le 17-11-2003 à 11:06:47  profilanswer
 

n°568740
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-11-2003 à 11:10:24  profilanswer
 

dans le .h de classB, tu met cette ligne :
 

Code :
  1. class A;


 
c'est un affreux bricolage mais ça marche

n°568896
bb138
La vie est belle ...
Posté le 17-11-2003 à 12:54:28  profilanswer
 

Et bien non justement car alors la fonction fctA declaree dans la classe A n'est pas encore visible pour la classe B, elle ne peut donc pas etre declaree en tant que friend.

n°568917
HelloWorld
Salut tout le monde!
Posté le 17-11-2003 à 13:37:02  profilanswer
 

La conception de ton modele me parrait un peu bancale...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°568958
bb138
La vie est belle ...
Posté le 17-11-2003 à 14:16:54  profilanswer
 

Oui, la ce n'est pas impossible du tout... Pour des questions de rapidite, je ne voulais pas m'embeter avec des accesseurs dans tous les sens...

n°568970
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-11-2003 à 14:32:43  profilanswer
 

BB138 a écrit :

Pour des questions de rapidite, je ne voulais pas m'embeter avec des accesseurs dans tous les sens...


ben tu devrais, parce que les friend c'est anti-objet au possible :o

n°568998
bb138
La vie est belle ...
Posté le 17-11-2003 à 15:12:22  profilanswer
 

J'en suis bien conscient !
Mais ne vais-je pas perdre trop de temps avec des methodes ?
(pour info, il faut que j'accede a environ cinq variables de chaque objet contenu dans une liste de 128 a plusieurs dizaine de milliers d'objets)

n°569026
Kristoph
Posté le 17-11-2003 à 15:31:08  profilanswer
 

BB138 a écrit :

J'en suis bien conscient !
Mais ne vais-je pas perdre trop de temps avec des methodes ?
(pour info, il faut que j'accede a environ cinq variables de chaque objet contenu dans une liste de 128 a plusieurs dizaine de milliers d'objets)


 
Avec de l'inlining que fait tout bon compilo, les get et set ne coutent rien de plus qu'un accès direct aux données.

n°569039
bb138
La vie est belle ...
Posté le 17-11-2003 à 15:41:21  profilanswer
 

Je n'en etais pas tout a fait sur...
En tout cas, merci. Je vais faire ces quelques petites modifications et hop :)

n°569093
HelloWorld
Salut tout le monde!
Posté le 17-11-2003 à 16:26:25  profilanswer
 

Citation :

Pour des questions de rapidite, je ne voulais pas m'embeter avec des accesseurs dans tous les sens...


 
Autant tout mettre en public alors...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

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

  [C++] Inclusion multiples

 

Sujets relatifs
fopen multiples dans une boucle, comment mieux faire ?[HELP] Inclusion d'image Jpgraph dans un document FPDF
[algo] problème d'inclusion de boucleUrgent... Multiples instances Tomcat
[résolu]variables provenant d'un <select> à choix multiples[SGBD/Mysql] Choix multiples et stockage en BDD
checkbox multiples [résolu]Inclusion d'un fichier texte dans un <textarea> ...
Map multiples[glib-2.0 / Makefile] petit problème d'inclusion
Plus de sujets relatifs à : [C++] Inclusion multiples


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)