Cheres amies et amis du forum

J'ai recupere une classe C++ pour le calcul de fraction, cependant lorsque j'effectue une opération il me retourne une abération (voir image)

En gros les affectations au variable fraction fonctionne mais lorsque le calcul s'effectue l'operateur surchargé "=" n'affecte pas la valeur, ou l'operateur surchargé "<< " n'affiche pas le resultat du calcul

voici le bout de code impliquer

fraction.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
class Fraction
{
   int Num;
   int Denom;
public :
//constructeurs
   Fraction(const int, const int);
   Fraction(const int);
   Fraction();
//Opérateuns d'action
   Fraction& operator+(const Fraction&);
   Fraction& operator+(const int&);
   Fraction& operator=(const Fraction&);
   Fraction& operator=(const int&);
 
//Fonctions amies
   friend ostream& operator<<(ostream&, Fraction&);   //opérateurs de flux (ex : cout)
   friend istream& operator>>(istream& , Fraction&);  //opérateurs de flux (ex : cin)
   friend int Pgcd(const int&,const int&); // trouve le plus grand diviseur commun entre i1 et i2
//Fonctions diverses
   Fraction& Simp();                      //Simplifie une fraction
   Fraction& Puis(const int&);            //comme un opérateur puissance
   Fraction& Inv();                       //Inverse la fraction
   int Signe();                           // 1 = positif ou nul      -1 = négatif
   void MemeDenom(Fraction&,Fraction&);   // met les deux fractions au meme dénominateur
fraction.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
//##########################____CONSTRUCTEURS____###############################
Fraction::Fraction(const int Numerateur,const int Denominateur)
{
   Num=Numerateur;
   Denom =Denominateur;
}
//##############################################################################
Fraction::Fraction()
{
   Num=0;
   Denom=1;
}
//##############################################################################
Fraction::Fraction(const int Entier)
{
   Num=Entier;
   Denom =1;
}
 
fonction de classe
 
Fraction& Fraction::operator+(const Fraction &F)
{
   Fraction FRes = *this;
   Fraction FInter = F;
   MemeDenom(FInter, FRes);
   FRes.Num += FInter.Num;
   return FRes.Simp();
}
 
Fraction& Fraction::operator=(const Fraction &F)
{	
    Num=F.Num;
   Denom=F.Denom;
   return *this;
}
 
ostream& operator<<(ostream& out, Fraction& F)
{	
	out << F.Num << "/" << F.Denom;
	return out;
}
Merci