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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| //ai pas bien compris ce que vous m'avez dit!
//au fete j'ai 4 class :
enum grade_t {Agent, Chef, GrandChef, PDG};
class personne {
private:
const std::string m_nom;
int m_matricule;
map<competance, int> m_competences;// Niveau de competance
grade_t m_grade; // code grade
public:
void personne(int mat, std::string const& nom , grade_t grade, std::map<competence, int> competences):
m_matricule(mat), m_nom(nom), m_grade(grade), m_competences(competences){
}
~personne(){};
void afficher(std::ostream& flux);
int matricule() const {return m_matricule;}
int matricule() const {return m_matricule;}
int matricule() const {return m_matricule;}
};
class poste {
private:
const int m_numero;
const std:string m_designation;
const char m_post_ratt;//hein?
const int m_capacite;
std::vector<personne*> occupants
public:
poste(int numero, std::string const& m_designation, char post_ratt, int capacite):
m_numero(numero), m_designation(designation), m_post_ratt(post_ratt), m_capacite(capacite){
occupants.reserve(capacity);
}
~poste(){};
int numero() const {return m_numero;}
char postratt() const {return m_post_ratt;}//hein?
bool contient(const personne* p) const;
//ajoute une personne à ce poste, si possible
bool ajouter(const personne* p) {
if (occupants.size() == m_capacite) return false;
occupants.push_back(p);
return true;
}
private://vraiment?
//retire une personne de ce poste
bool retirer(const personne* p); //en exercice
public:
//cherche le plus malheureux.
const personne* malheureux() const;
//calcul la somme des niveaux de bonheur des gens dans ce poste
int bonheur() const;
//calcul la somme des niveaux de bonheur des gens dans ce poste si p y était ajouté
int bonheurAvec(const personne* p) const;
//calcul la somme des niveaux de bonheur des gens dans ce poste si p en était enlevé
int bonheurSans(const personne* p) const;
bool transfererMalheureuxVers(poste& autre) {
const personne* lui = malheureux();
if (autre.ajouter(lui)) return retirer(lui);
return false;
}
}; |
Partager