/* IFT1169 - démonstration #05 - exercice 03 - 19-février -2006 v1.00 M.Lokbani - l'énoncé+solution + gcc3.4.2 à partir de l'énoncé de l'examen Final session Automne 2000 - IFT1166 - contact: lokbani@iro.umontreal.ca Copyright (C) 1999-2006 Université de Montréal Département d'informatique et de Recherche Opérationnelle Mohamed Lokbani -- Tous Droits Réservés -- All Rights Reserved -- Description: ------------ Complétez la classe Chaine par les opérateurs suivants: operator+=(char): pour ajouter un caractère à la fin du membre de la classe Chaine: nom. Par exemple si l'objet x, instance de la classe Chaine, contient au départ la chaîne test alors: x+=('e'); cout << x; affichera teste en sortie. void operator+=(char a) { char* temp = new char[sizeof(nom)+2]; strcpy(temp,nom); delete [] nom; temp[sizeof(nom)] = a; temp[sizeof(nom)+1] = '\0'; nom = new char[sizeof(temp)+1]; strcpy(nom,temp); } operator-=(int): pour retirer un certain nombre de caractères de la fin du membre de la classe Chaine: nom. Par exemple si l'objet x, instance de la classe Chaine, contient au départ la chaîne teste alors: x-=(2); cout << x; affichera tes en sortie. void operator-=(int nb) { taille = (sizeof(nom)+1-nb); if (taille > 0) { char* temp = new char[taille]; for (int i=0;i class Chaine{ char* nom; int taille; public: // supposez que les 4 fonctionnalités suivantes sont disponibles Chaine(char*); Chaine(const Chaine&); Chaine& operator=(const Chaine&); ostream& operator<<(ostream& out,const Chaine&); };