[C++] Inclusion multiples

Inclusion multiples [C++] - C++ - Programmation

Marsh Posté le 17-11-2003 à 11:06:47    

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 ?

Reply

Marsh Posté le 17-11-2003 à 11:06:47   

Reply

Marsh Posté le 17-11-2003 à 11:10:24    

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

Code :
  1. class A;


 
c'est un affreux bricolage mais ça marche

Reply

Marsh Posté le 17-11-2003 à 12:54:28    

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.

Reply

Marsh Posté le 17-11-2003 à 13:37:02    

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


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

Marsh Posté le 17-11-2003 à 14:16:54    

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...

Reply

Marsh Posté le 17-11-2003 à 14:32:43    

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

Reply

Marsh Posté le 17-11-2003 à 15:12:22    

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)

Reply

Marsh Posté le 17-11-2003 à 15:31:08    

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.

Reply

Marsh Posté le 17-11-2003 à 15:41:21    

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

Reply

Marsh Posté le 17-11-2003 à 16:26:25    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed