This commit is contained in:
Mylloon 2023-10-28 04:24:35 +02:00
parent d107592ae3
commit c55907adce
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
5 changed files with 30 additions and 3 deletions

View file

@ -68,7 +68,7 @@ TODO avant rendu :
- [x] Calcule la durée totale restante d'un projet - [x] Calcule la durée totale restante d'un projet
- [ ] Demande un salaire pour travailler - [ ] Demande un salaire pour travailler
- Méthodes - Méthodes
- [ ] Surcharge de `<<` : Affiche une facturation - [x] Surcharge de `<<` : Affiche une facturation
- [ ] `pair<vector<int>, int> avis(const RunProjet &)` : renvoie l'ordonnancement - [ ] `pair<vector<int>, int> avis(const RunProjet &)` : renvoie l'ordonnancement
et la durée totale restante et la durée totale restante

View file

@ -6,6 +6,12 @@
class Gestionnaire { class Gestionnaire {
friend std::ostream &operator<<(std::ostream &, const Gestionnaire &); friend std::ostream &operator<<(std::ostream &, const Gestionnaire &);
protected:
int salaire;
// Auxiliaire pour simplifier l'affichage d'un projet
std::ostream &print(std::ostream &) const;
public: public:
Gestionnaire(); // constructor Gestionnaire(); // constructor
virtual ~Gestionnaire(); // destructor virtual ~Gestionnaire(); // destructor

View file

@ -14,6 +14,10 @@ const Consultant &Consultant::operator=(const Consultant &src) {
return *this; return *this;
} }
std::ostream &operator<<(std::ostream &out, const Consultant &data) {
return data.print(out);
}
std::pair<std::vector<int>, int> Consultant::avis(const RunProjet &projet) { std::pair<std::vector<int>, int> Consultant::avis(const RunProjet &projet) {
// TODO // TODO
int duree_totale = 0; int duree_totale = 0;

View file

@ -14,6 +14,10 @@ const Expert &Expert::operator=(const Expert &src) {
return *this; return *this;
} }
std::ostream &operator<<(std::ostream &out, const Expert &data) {
return data.print(out);
}
std::pair<std::vector<int>, int> Expert::avis(const RunProjet &projet) { std::pair<std::vector<int>, int> Expert::avis(const RunProjet &projet) {
// TODO // TODO
const int duree_totale = projet.consult_tasks().front()->dureeParal(); const int duree_totale = projet.consult_tasks().front()->dureeParal();

View file

@ -1,15 +1,28 @@
#include "../includes/Gestionnaire.hpp" #include "../includes/Gestionnaire.hpp"
Gestionnaire::Gestionnaire() {} Gestionnaire::Gestionnaire() {
salaire = rand() % 500 + 400; // Entre 400 et 899
}
Gestionnaire::~Gestionnaire() {} Gestionnaire::~Gestionnaire() {}
Gestionnaire::Gestionnaire(const Gestionnaire &) {} Gestionnaire::Gestionnaire(const Gestionnaire &src) : salaire(src.salaire) {}
const Gestionnaire &Gestionnaire::operator=(const Gestionnaire &src) { const Gestionnaire &Gestionnaire::operator=(const Gestionnaire &src) {
if (this == &src) { if (this == &src) {
return *this; return *this;
} }
salaire = src.salaire;
return *this; return *this;
} }
std::ostream &Gestionnaire::print(std::ostream &out) const {
out << "La facture s'élève à " << salaire << "";
return out;
}
std::ostream &operator<<(std::ostream &out, const Gestionnaire &data) {
return data.print(out);
}