Programmez en langage C++ 5ème édition de Claude Delannoy
Codes source
- Tous les programmes de l'ouvrage
Fichier application/x-zip (80.4 Ko)
Compatibilité avec les compilateurs
Ces programmes ont notamment été testés :
- avec la version 2.95.2 du compilateur GNU (voir remarques ci-dessous), associé à la version 2.10.0 de la bibliothèque standard,
- sous Unix, avec Sun Workshop C++ Compiler, version 5.0 (voir remarques ci-dessous),
- sur PC, avec Microsoft Visual C++ version 6 (voir remarques ci-dessous).
Le compilateur GNU
- ne reconnaît pas l'option nothrow dans chap4/new.cpp,
- ne reconnaît pas boolalpha et noboolalpha dans chap16/format.cpp,
- ne connaît pas la fonction assign dans chap21/recherc.cpp,
- ne connaît pas les fonctionnalités correspondant au fichier en-tête sstream des programmes chap22/istrings.cpp, chap22/ostrings.cpp et chap22/lecclav.cpp cela signifie qu'il faut continuer de recourir aux anciennes fonctionnalités offertes par le fichier en-tête strstream,
- ne connaît pas toutes les fonctionnalités du type bitset dans le programme chap23/ bitset.cpp.
La version mentionnée de Sun Workshop
- ne reconnaît pas la spécification d'interface throw(int) dans chap17/interf.cpp,
- ne reconnaît pas la fonction insert dans chap20/map.cpp et chap20/multimap.cpp,
- ne reconnaît pas toutes les fonctionnalités du type bitset du programme chap23/bitset.cpp,
- ne reconnaît pas l'expression polar<double> du programme chap23/complex.cpp.
Avec Visual C++ version 6
Quelques programmes nécessitent une petite modification pour compenser les écarts à la norme plus précisément :
- Il faut incorporer la définition des classes dans
l'espace de noms std, en procédant ainsi :
namespace std
{
// code existant
}Cela concerne les programmes chap09/addpt1.cpp, chap10/addpoint.cpp et chap10/addcomp.cpp
- Il faut préfixer les noms d'opérateurs définis comme fonctions amies d'une classe par std:: dans l'en-tête de leur définition cela concerne les programmes chap11/patmin3.cpp et chap16/point.cpp ainsi que les corrections d'exercices correxos/ix3b.cpp et correxos/ix4b.cpp.
Le programme chap4/new_hand.cpp ne fonctionne pas, mais on peut recourir à _set_ new_handler au lieu de set_new_handler
- Les fonctionnalités concernant le R.T.T.I. ne sont pas toutes disponibles et les programmes chap15/name.cpp, chap15/egal1.cpp et chap15/egal2.cpp ne fonctionnent pas.

