Créez le projet CException.
Dans les fichiers CException.h et CException.cpp, ajouter dans l’espace de noms nsUtil la classe CException, dérivée de la classe standard exception, possédant deux attributs (données membres) :
myLibelle: un texte de typestringcontenant un diagnostic d’erreur,myCodErr: un entier non signé,
et les méthodes suivantes :
- un constructeur à deux paramètres (le libellé de l’exception et le code de l’erreur), avec d’éventuelles valeurs par défaut,
- un destructeur virtuel (vide), nécessaire car la classe mère (
exception) est elle-même virtuelle, - deux accesseurs permettant de récupérer les valeurs des données membres,
- une récriture de la fonction virtuelle
what(), héritée de la classe mèreexception, de profil suivant :virtual const char* what() const noexcept;
qui, au moyen de la méthode
c_str()de la classestring, renvoie le libellé de l’exception sous la forme d’uneNTCTS(dont le type estconst char*). - la fonction d’affichage (provisoire)
diplay(), qui affiche à l’écran le contenu de l’exception, par exemple dans le format suivant :Exception : xxxxxxxxxxxxxxxxxxxxxxxxxxxx Code : yyyyy
Dans la fonction testException() de l’espace de noms anonyme du fichier testCException.cpp, écrire une boucle terminée par la fin de fichier cin, constituée :
- de la saisie d’une chaîne de caractères (le libellé de l’exception),
- de la saisie d’un entier (le code d’erreur associé),
- de la construction d’une
CException, - de son affichage.
Compiler et tester.