Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #ifndef DEF_FRACTION
  2. #define DEF_FRACTION
  3.  
  4. #include <iostream>
  5.  
  6. class Zfraction
  7. {
  8. public:
  9.  
  10. Zfraction();
  11. Zfraction(int m_numerateur, int m_denominateur);
  12. Zfraction(int m_numerateur);
  13. void afficher(std::ostream &flux) const;
  14. Zfraction& operator+=(Zfraction const& fraction);
  15. Zfraction add(Zfraction const& fraction) const;
  16.  
  17. private:
  18.  
  19. int m_numerateur;
  20. int m_denominateur;
  21.  
  22. };
  23. std::ostream& operator<<(std::ostream &flux, Zfraction fraction);
  24. Zfraction operator+(Zfraction const& fraction1, Zfraction const& fraction2);
  25. #endif
  26.  
  27. #include "Zfraction.h"
  28.  
  29.  
  30. Zfraction::Zfraction()
  31. {
  32. m_numerateur=1;
  33. m_denominateur=0;
  34. }
  35.  
  36. Zfraction::Zfraction(int numerateur, int denominateur)
  37. {
  38. m_numerateur=numerateur;
  39. m_denominateur=denominateur;
  40. }
  41.  
  42. Zfraction::Zfraction(int numerateur)
  43. {
  44. m_numerateur=numerateur;
  45. m_denominateur=1;
  46. }
  47.  
  48. void Zfraction::afficher(std::ostream &flux) const
  49. {
  50. flux << m_numerateur<<"/"<<m_denominateur;
  51. }
  52.  
  53. std::ostream& operator<<(std::ostream &flux, Zfraction const& une_fraction)
  54. {
  55. une_fraction.afficher(flux);
  56. return flux;
  57. }
  58.  
  59. Zfraction Zfraction::add(Zfraction const& fraction) const
  60. {
  61. Zfraction somme;
  62. somme.m_numerateur=(m_numerateur*fraction.m_denominateur)+(m_denominateur*fraction.m_numerateur);
  63. somme.m_denominateur=m_denominateur*fraction.m_denominateur;
  64. return somme;
  65. }
  66.  
  67. Zfraction operator+(Zfraction const& fraction1, Zfraction const& fraction2)
  68. {
  69. Zfraction resultat;
  70. resultat = fraction1.add(fraction2);
  71. return resultat;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement