[C++]Compteur d'instance

Compteur d'instance [C++] - C++ - Programmation

Marsh Posté le 24-11-2002 à 21:06:44    

Voilà, je dois implementer un compteur d'instance dans un algo en c++, le problème est que je ne vois absolument pas comment caser cela.  
 
Une recherche m'a indiqué :  
 

Code :
  1. Static Data Members
  2. They belong to the class not a particular object.
  3. Example:
  4. class C {
  5.          static int a;
  6.          static int count;
  7.          ....
  8. public:
  9.          C() {count++;}   // instance counter
  10. friend void  print_count();
  11. }
  12. int C::a = -99;             // does not need to be initialized
  13. int C::a;                      // initialized to zero
  14. int main()
  15. {
  16.          ...
  17. }
  18. void print_count()
  19. {
  20.          cout << "there are" << C.count << "C          objects" << endl;
  21. }


 
 
Où placer le compteur dans le cas d'une classe comme celle-ci :  
 

Code :
  1. class Fraction {
  2.   public:
  3.    
  4.       Fraction(void);
  5.       Fraction(long n = 0,long d = 1);
  6.       Fraction(const Fraction& f);
  7.  
  8.       friend Fraction operator+(const Fraction& f1, const Fraction& f2);
  9.       friend Fraction operator-(const Fraction& f1, const Fraction& f2);
  10.       friend Fraction operator*(const Fraction& f1, const Fraction& f2);
  11.       friend Fraction operator/(const Fraction& f1, const Fraction& f2);
  12.       Fraction& operator=(const Fraction& f);
  13.  
  14.       void show (void);
  15.    private:   
  16.  
  17.     long num,den;
  18.  
  19. };


---------------
Wigga with Attitude.
Reply

Marsh Posté le 24-11-2002 à 21:06:44   

Reply

Marsh Posté le 24-11-2002 à 21:12:11    

au meme endroit. le but c'est d'avoir une variable commune   toutes instances de classe (static): les constructeru la ++e t les destructeurs la --
 
 
Fraction(void);  
 
 
pas besoind spécifier void en C++


Message édité par Taz@PPC le 24-11-2002 à 21:12:18

---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 24-11-2002 à 21:45:12    

faut placer une variables :
 
static int i;
 
et incrmenter i dans le constructeur ...

Reply

Sujets relatifs:

Leave a Replay

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