/* personne.c++ */ #include #include personne::personne(std::string p, std::string n, int a, sexe_t s) : prenom(p), nom(n), age(a), sexe(s) { sexe=(s<2) ? s : (sexe_t)(2*((double)rand()/RAND_MAX)); std::cout << "Création d'un" << (sexe ? "e femme" : " homme"); std::cout << " : " << prenom << " " << nom << endl; std::cout << " * " << age << " ans" << endl; } personne::personne(const personne& p) : nom(p.nom), prenom(p.prenom), age(0), sexe(p.sexe) { std::cout << "Clonage de " << p.prenom << " " << p.nom << " " << endl; } personne::~personne() { std::cout << "Destruction de "; std::cout << prenom << " " << nom << endl; std::cout << " * " << age << " ans" << endl; } personne* personne::operator*(const int& nb) const { if (nb<=0) return NULL; if (nb==1) return new personne(*this); return new personne[nb](*this); } personne* operator*(const int& nb, const personne& p) { return p*nb; };