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
Zfraction.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 #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; }
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 #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
C'est peut être simple mais ca fait quelque jours que je programme plus j'ai peut être oublier quelque bases.
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 #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
En tout cas merci a vous !
Partager