classe templates et amies

classe templates et amies - C++ - Programmation

Marsh Posté le 01-02-2004 à 03:20:19    

Bonjour,
 
j'ai une classe ayant 3 paramètres templates, et une classe ne reprenant que le 1er des 3. je voudrais pouvoir déclarer la 1ere classe amie de la 2eme, en reprenant le 1er paramètres template, et qu'elle soit amie quels que soient les 2 autres paramètres.
Je m'explique par un petit bout de code :
 

Code :
  1. template<bool b, typename T1, typename T2>
  2. class C1
  3. {
  4. };
  5. class C2<bool b>
  6. {
  7.   friend C1<b, /* n'importe quel type */, /* n'importe quel type */>;
  8. };


 
est-ce possible ?


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 01-02-2004 à 03:20:19   

Reply

Marsh Posté le 01-02-2004 à 03:32:10    

de mes archives
 

Code :
  1. template<typename T>
  2. struct Foo
  3. {
  4.   void call() const;
  5. };
  6. template<typename T>
  7. struct Bar
  8. {
  9.   void call() const;
  10. };
  11. struct A
  12. {
  13.   template<typename T>
  14.   friend class Foo;
  15.   friend class Bar<int>;
  16. private:
  17.   void call() const { }
  18. };
  19.    
  20. template<typename T>
  21. void Foo<T>::call() const
  22. {
  23.   A().call();
  24. }
  25. template<typename T>
  26. void Bar<T>::call() const
  27. {
  28.   A().call();
  29. }
  30. int main()
  31. {
  32.   Foo<void>().call();
  33.   Foo<int>().call();
  34.   Bar<void>().call(); /* Erreur */
  35.   Bar<int>().call();
  36. }

Reply

Marsh Posté le 01-02-2004 à 03:44:28    

ah, parfait, merci beaucoup :jap:


---------------
-( BlackGoddess )-
Reply

Sujets relatifs:

Leave a Replay

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