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
| /* pour le constructeur, utilisons la liste d'initialisation */
Entreprise::Entreprise(const std::string& n):mname(n),salarie(){}
/* le destructeur n'a rien à faire */
Entreprise::~Entreprise(){}
/* L'entreprise doit répondre à la question "quel est ton nom" */
const std::string& Entreprise::name() const { return mname;}
/* L'entreprise doit engager un salarié
* @ params : n: le nom du salarie
* p: le prénom du salarie
* s: le sexe du salarie
* a: l'age du salarie
*/
void Entreprise::engage(const std::string& n, const std::string& p, char s,
unsigned int a)
{
/* création du salarié, l'identifiant est calculé sur le nombre
* de salariés déja existants
*/
Salarie toadd={salaries.size()+1,n,p,s,a};
/* ajout du salarié à la fin de la liste */
salaries.push_back(toadd);
}
/* l'affichage des salariés à l'écran */
void Entreprise::afficheTous() const
{
/* parcourrons la liste des salariés */
for(std::list<Salarie>::const_iterator it= salaries.begin();
it!=salaries.end();++it)
{
/* et demandons en l'affichage */
std::cout<<(*it).nom<<" "<<(*it).prenom<<" "<<(*it).age
<<" "<<(*it).sexe<<std::endl;
}
}
/* l'enregistrement des salariés dans un fichier dont le nom est
* donné en parametre
*/
void Entreprise::enregistre(const std::string& filename) const
{
/* ouvrons un fichier en lecture seule */
std::ofstream ofs(filename.c_str());
/* parcourrons la liste des salariés */
for(std::list<Salarie>::const_iterator it= salaries.begin();
it!=salaries.end();++it)
{
/* et demandons l'écriture dans le ficheir */
ofs<<(*it).nom<<" "<<(*it).prenom<<" "<<(*it).age
<<" "<<(*it).sexe<<std::endl;
}
} |
Partager