GRAND LIVRE C + + TABLE DES MATIERES Chapitre 1 Cours express: fondements du langage 13 1.1 Premier programme C++ 15 1.2 Eléments du langage 21 1.3 Commentaires 23 1.4 Types de données fondamentaux 25 Types entiers 25 Types à virgule flottante 32 1.5 Identificateurs 35 1.6 Mots clés 36 1.7 Constantes 37 Constantes non nommées 38 Constantes nommées 53 1.8 Variables 55 1.9 Exercices 63 Chapitre 2 Gestion des entrées-sorties 65 2.1 Le flux de sortie coût 68 Chaînage 69 Formatage 70 Sorties non formatées 86 2.2 Sorties conventionnelles 87 Sorties formatées 88 Sorties non formatées 104 2.3 Le flux d'entrée cin 105 ChaÎnage 108 Formatage 110 Entrées non formatées 111 2.4 Entrées conventionnelles 114 Entrées formatées 114 Entrées non formatées 121 2.5 Exercices 125
Chapitre 3 Les opérateurs 127 3.1 Caractéristiques des opérateurs 129 3.2 Opérateurs arithmétiques 135 Arithmétique des nombres entiers et a virgule flottante 136 Restes de division 137 3.3 Opérateurs de comparaison 138 3.4 Opérateurs logiques 144 ET logique 144 OU logique 147 NON logique 149 3.5 Opérateurs de bits 151 Opérateurs logiques bit à bit 151 Opérateurs de décalage 160 3.6 Opérateurs d'affectation 166 Affectations simples 167 Affectations combinées 168 3.7 Incrément et décrément 169 Expression préfixée ou suffixée 170 Effets de bord 173 3.8 L'opérateur de condition 174 3.9 L'opérateur de séquence 176 3.10 L'opérateur sizeof 177 3.11 L'opérateur d'adressage 179 3.12 Les parenthèses 179 3.13 Autres opérateurs 180 3.14 Conversions de type 181 Conversions de type implicites 181 Conversions de type explicites 186 3.15 Exercices 189 Chapitre 4 Structures de contrôle 191 4.1 Instructions conditionnelles 193 L'instruction if 194 L'instruction if else 199 L'instruction switch 205 4.2 Instructions répétitives 211 L'instruction while 211 L'instruction for 230 L'instruction do while 235 4.3 Instructions de saut 241 L'instruction break 241 L'instruction continue 245 L'instruction goto 245 4.4 Exercices 247 Chapitre 5 Le préprocesseur C++ 249 5.1 Les fichiers d'en-tête 251 5.2 Constantes symboliques 253 5.3 Les macros 256 Macros sans paramètre 256 Macros avec paramètres 258 Effacement de macros 263 Macros ou fonctions? 263 5.4 Compilation conditionnelle 263 5.5 L'instruction #error 270 5.6 L'instruction #Iine 271 5.7 Les pragmas 271 5.8 Constantes de preprocesseur 272 5.9 Exercices 273 Chapitre 6 Pointeurs et références 275 6.1 Les pointeurs 277 Variables de type pointeur 279 Pointeurs déréférencés 285 Pointeurs constants 286 Pointeurs génériques 289 6.2 Les références 291
6.3 Exercices 294 Chapitre 7 Les tableaux 295 7.1 Tableau unidimensionnel 298 Initialisation 300 Accès aux éléments d'un tableau 302 Tableaux et pointeurs 314 Les chaînes de caractères 337 7.2 Tableaux multidimensionnels 365 Indexation 369 7.3 Initialisation 375 Tableaux de chaînes 377 7.4 Tableaux de pointeurs 379 7.5 Exercices 383 Chapitre 8 Gestion dynamique de la mémoire 385 8.1 L'opérateur new 388 Allouer des objets individuellement 388 Allouer des tableaux 391 Erreurs d'allocation 396 8.2 L' opérateur delete 397 8.3 Les chaînes dynamiques 399 8.4 Pointeurs vers des pointeurs 403 8.5 Fonctions de gestion dynamique de la mémoire 411 malloc et calloc 411 realloc 414 free 415 Tableaux de pointeurs dynamiques (2) 415 8.6 Exercices 419 Chapitre 9 Les fonctions 423 9.1 Définition et appel de fonction 425 9.2 Déclaration des fonctions (prototypes) 432 9.3 Domaine de validité des objets 440 Variables globales, variables locales 441 Extension d'un domaine de validité 448 Limitation d'un domaine de validité 451 9.4 Durée de vie des variables 452 Classes mémoire des variables locales 452 Classe mémoire des variables globales 461 9.5 L'instruction return 463 Fonctions sans valeur de retour 463 Fonctions avec valeur de retour 465 9.6 Paramètres de fonction 474 Transmission par valeur 475 Transmission par adresse 480 Des tableaux en tant que paramètres 485 Les paramètres constants 493 Paramètres par défaut 496 Fonctions avec un nombre indéfini de paramètres 504 Elimination des erreurs 509 9.7 Fonctions surchargées 511 9.8 Fonctions récursives 518 9.9 La fonction main 525 9.10 Fonctions inline 530 9.11 Pointeurs sur fonctions 531 9.12 Exercices 536 Chapitre 10 Types de données personnalisés 539 10.1 Le mot réserve typedef 541 Chapitre 11 Les types énumérés 545 11.1 Le mot réserve enum 548 Chapitre 12 Les classes 557 12.1 Définition des classes 560 Classes anonymes 561
Classes de base 562 Données membre 562 Fonctions membress 564 12.2 Déclaration des classes 574 12.3 Instances de classe 575 Actions applicables aux objets 579 Accès aux membres des classes 584 Accès aux tableaux d'objets 589 12.4 Initialisation et construction d'objets 613 Listes d'initialisation 613 Les constructeurs 616 12.5 Les destructeurs 650 12.6 Objets constants 657 12.7 Fonctions membres constantes 658 12.8 Membres statiques 659 Donnée membre statique 660 Fonctions membres statiques 667 12.9 Fonctions et classes amies (friend) 672 12.10 Les classes spéciales 679 Classes struct 680 Classes union 681 Champs binaires 689 12.11 Exercices 694 Chapitre 13 Les fonctions opérateur 697 13.1 Fonctions pour les opérateurs monadiques 700 13.2 Fonctions pour opérateurs dyadiques 711 13.3 L'opérateur d'affectation = 717 13.4 L'opérateur d'indexation [ ] 723 13.5 L'opérateur d'appel de fonction 731 13.6 L'opérateur flèche -> 733 13.7 Les opérateurs new et delete 736 Surcharger new et delete pour une classe 736 Surcharge globale de new et delete 744 13.8 Opérateurs cast et de transtypage 745 13.9 Exercices 749 Chapitre 14 Classes dérivées 753 14.1 Dérivations publiques 759 14.2 Dérivations protégées 764 14.3 Dérivations privées 765 14.4 Récapitulation de l'héritage des droits d'accès 767 14.5 Redéfinition des droits d'accès 768 14.6 Redéfinition des membres d'une classe 769 14.7 Hiérarchies de classes 772 14.8 Conversions d'objets 775 14.9 Membres non héritables 780 Amies 780 Constructeurs 782 Destructeurs 787 Opérateur d'affectation 789 14.10 Fonctions virtuelles 791 14.11 Classes abstraites et fonctions virtuelles pures 814 14.12 Héritage multiple 818 14.13 Exercices 830 Chapitre 15 Les flux 833 15.1 Entrées-sorties standard 837 15.2 Traitement des fichiers 849 Ouverture et fermeture 849 Lecture et écriture 857 Déplacements à l'intérieur d'un fichier 867 15.3 Entrées-sorties en mémoire 873 15.4 Etat d un flux 877 15.5 Exercices 882 Chapitre 16 Extensions du langage 883 16.1 Les valeurs de vérité : le type de données bool 885
16.2 Modification de type: mutable 888 16.3 Constructeurs explicites 889 16.4 Mots-clés pour les opérateurs logiques 891 16.5 Conversions de type explicites 892 Static_Cast 892 Const_cast 893 Reinterpret_cast 894 Dynamic_cast 894 16.6 Espaces de nom (namespaces) 894 Noms de remplacement 898 Déclarations using 899 Les directives using 900 16.7 Informations de type en execution 901 L'opérateur dynamic_cast 901 Opérateur typeid et classe type_info 905 16.8 Traitement des exceptions 906 Le bloc try 908 Le traitement d'erreur catch 908 L'expression throw 910 Déclaration étendue de prototype 912 16.9 Templates 912 Modèles de fonctions 912 Modèles de classe 919 Standard Template Library ou STL 921 Chapitre 17 C++ dans la programmation Windows 927 17.1 Les concepts de communication dans les systèmes d'exploitation 929 Processus et messages 930 17.2 Programmation Windows 932 Messages 932 Fenêtres 934 Contexte de périphérique 943 La notation hongroise 944 Création de programme 945 Chapitre 18 Annexes 999 18.1 Annexe A : le compilateur GNU 1001 Installation 1001 Mise en oeuvre directe de gcc et gxx 1002 rhide - IDE 1005 Débogage sous rhide 1006 Informations sur la licence 1007 18.2 Annexe B : Manipulation conventionnelle de fichiers 1008 Opérations non élémentaires sur les fichiers 1009 Opérations élémentaires sur les fichiers 1050 18.3 Annexe C : Recapitulatif des classes ios 1062 18.4 Annexe D : C++ sous Linux 1071 Programmation sous Linux 1072 Environnements de développement intégrés 1073 KDE-Qt 1076 GNU make, makefiles 1096 Les scripts configure 1100 automake 1104 Fichiers standard GNU 1106 Les trois compilateurs: gcc, egcs, pgcc 1107 CVS 1108 Programmation de jeux 1110 18.5 Annexe E : Solutions des exercices 1114 Solutions des exercices du chapitre 1 1114 Solutions des exercices du chapitre 2 1115 Solutions des exercices du chapitre 3 1119 Solutions des exercices du chapitre 4 1125 Solutions des exercices du chapitre 5 1130 Solutions des exercices du chapitre 6 1132 Solutions des exercices du chapitre 7 1134 Solutions des exercices du chapitre 8 1138 Solutions des exercices du chapitre 9 1140 Solutions des exercices du chapitre 12 1145
Solutions des exercices du chapitre 13 1148 Solutions des exercices du chapitre 14 1153 Solutions des exercices du chapitre 15 1158 Introduction. 11 Chapitre 19 Super lndex 1163 TOP