/* IFT1166 - démonstration #8 - exercice 05 12-novembre -2005 v1.03 M.Lokbani - MàJ pour A05 22-octobre -2003 v1.02 M.Lokbani - gcc3.2 +comments. 15-octobre -1999 v1.01 P.Langlais - +comments 05-octobre -1999 v1.00 M.Lokbani - énoncé + corrigé. contact: lokbani@iro.umontreal.ca Copyright (C) 1999-2005 Université de Montréal Département d'informatique et de Recherche Opérationnelle Mohamed Lokbani -- Tous Droits Réservés -- All Rights Reserved -- Description: Le but de cet exercice est de vous montrer: 1) comment on peut faire de l'allocation propre en C (strdup) 2) comment on peut faire encore plus propre en C++ (string) 3) le rôle du this qui référence l'objet */ #include #include using namespace std; class livre { private: // facultatif /* facon C char titre[1024]; char auteur[1024]; */ // facon C++ string titre,auteur; public: /* facon C livre(char *titre, char *auteur) { strcpy (livre::titre,titre); strcpy (livre::auteur,auteur); }; */ // facon C++ livre (char *letitre, char *loteur) { titre = letitre; // string possède un mécanisme d'initialisation par des char * auteur = loteur; // note: pas de problème d'allocation à gérer. } void affiche_w_this() { // inline cout << "w_this" << endl; cout << "titre: " << this->titre << endl; cout << "auteur: " << this->auteur << endl; }; void affiche_wo_this(void) { //inline cout << "wo_this" << endl; cout << "titre: " << titre << endl; cout << "auteur: " << auteur << endl; }; }; int main(){ livre Livre("Réflexions sur la peine capitale","Albert Camus & Arthur Koestler"); Livre.affiche_w_this(); Livre.affiche_wo_this(); return 0; } /* >demo8exo5sol w_this titre: Réflexions sur la peine capitale auteur: Albert Camus & Arthur Koestler wo_this titre: Réflexions sur la peine capitale auteur: Albert Camus & Arthur Koestler >Exit code: 0 */