[POO] Fraction et constructeur
Bonjour,
j'essaye de créer une classe fraction pour additionner, multiplier, et comparer (égal, plus grand, plus petit) des fractions.
Mais j'ai pas mal de problèmes:
-Mon compilateur considere mon constructeur comme une fonction. Et du coup je ne peut rien faire.
-J'ai crée des valeurs de base pour mon constructeur, mais impossible d'en initialiser une seul (il demande 2 arguments obligatoirement).
Main.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include <iostream>
#include <string>
#include "Zfraction.h"
using namespace std;
int main()
{
Zfraction a(4,5); //Déclare une fraction valant 4/5
Zfraction b(2); //Déclare une fraction valant 2/1
Zfraction c,d; //Déclare deux fractions valant 0/1
return 0;
} |
Zfraction.cpp
Code:
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
| #include "Zfraction.h"
Zfraction::Zfraction()
{
m_numerateur = 0;
m_denominateur = 1;
}
Zfraction::Zfraction(int numerateur, int denominateur)
{
m_numerateur(numerateur);
m_denominateur(denominateur);
}
Zfraction::Zfraction(int numerateur)
{
m_numerateur(numerateur);
m_denominateur = 1;
}
Zfraction::int pgcd(int a, int b)
{
while (b != 0)
{
const int t = b;
b = a%b;
a=t;
}
return a;
} |
Zfraction.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #ifndef ZFRACTION_H_INCLUDED
#define ZFRACTION_H_INCLUDED
#include <iostream>
class Zfraction
{
public:
Zfraction();
Zfraction(int numerateur, int denominateur);
Zfraction(int numerateur);
int pgcd(int a, int b);
private:
int m_numerateur;
int m_denominateur;
};
#endif // ZFRACTION_H_INCLUDED |
C'est peut être simple mais ca fait quelque jours que je programme plus j'ai peut être oublier quelque bases.
En tout cas merci a vous !