Book description
Programmer en langage C++ s'est imposé au fil de ses sept éditions successives comme la référence en langue française sur le C++. Il s'adresse aussi bien aux étudiants en programmation qu'aux développeurs professionnels souhaitant se former à ce langage ou en approfondir la maîtrise.
Après une présentation détaillée de la syntaxe de base du langage (types de données, opérateurs, instructions de contrôle, fonctions, tableaux, pointeurs...), l'auteur insiste tout particulièrement sur la bonne compréhension des concepts objet et sur l'acquisition de méthodes de programmation rigoureuses.
L'ouvrage couvre tous les aspects du langage et de sa bibliothèque standard (STL ou Standard Template Library), et traite en profondeur des points les plus délicats auxquels est confronté un programmeur C++ lors de la création de ses propres classes et de la conception d'applications professionnelles.
Cette 8e édition inclut un nouveau chapitre d'introduction aux design patterns en C++, ainsi qu'une annexe sur les extensions apportées par la nouvelle version de la norme ISO, connue sous le nom C++Ox, dont la publication finale est imminente.
Chaque notion nouvelle et chaque fonction du langage est illustrée de programmes complets dont le code source est fourni sur le site www.editions-eyrolles.com. Tout au long de l'ouvrage, des notes soulignent les différences majeures entre le C++ et Java, de manière à établir des passerelles entre les deux langages.
- Présentation du langage C ++
- Généralités sur le langage C++
- Les types de base du C++
- Opérateurs et expressions
- Les entrées-sorties conversationnelles du C++
- Les instructions de contrôle
- Les fonctions
- Les tableaux et les pointeurs
- Les chaînes de style C
- Les types structure, union et énumération
- Classes et objets
- Les propriétés des fonctions membres
- Construction, destruction et initialisation des objets
- Les fonctions amies
- La surdéfinition d'opérateurs
- Les conversions de type définies par l'utilisateur
- Les patrons de fonctions
- Les patrons de classes
- L'héritage simple
- L'héritage multiple
- Les fonctions virtuelles et le polymorphisme
- Les flots
- La gestion des exceptions
- Généralités sur la bibliothèque standard (STL)
- Les conteneurs séquentiels
- Les conteneurs associatifs
- Les algorithmes standards
- La classe string
- Les outils numériques
- Les espaces de noms
- Le préprocesseur et l'instruction typedef
- Introduction au Design Patterns
- Annexes
- Règles de recherche d'une fonction surdéfinie
- Compléments sur les exceptions
- Les différents types de fonctions en C++
- Comptage de références
- Les pointeurs sur des membres
- Les algorithmes standard
- Les principales fonctions de la bibliothèque C standard
- Les incompatibilités entre C et C++
- C++Ox
Table of contents
- Couverture
- Titre
- Licence
- Table
- Avant-propos
- Chapitre 1 - Présentation du langage C++
-
Chapitre 2 - Généralités sur le langage C++
-
1 Présentation par l’exemple de quelques instructions du langage C++
- 1.1 Un exemple de programme en langage C++
- 1.2 Structure d’un programme en langage C++
- 1.3 Déclarations
- 1.4 Pour écrire des informations : utiliser le flot cout
- 1.5 Pour faire une répétition : l’instruction for
- 1.6 Pour lire des informations : utiliser le flot cin
- 1.7 Pour faire des choix : l’instruction if
- 1.8 Les directives à destination du préprocesseur
- 1.9 L’instruction using
- 1.10 Exemple de programme utilisant le type caractère
- 2 Quelques règles d’écriture
- 3 Création d’un programme en C++
-
1 Présentation par l’exemple de quelques instructions du langage C++
- Chapitre 3 - Les types de base de C++
-
Chapitre 4 - Opérateurs et expressions
- 1 Originalité des notions d’opérateur et d’expression en C++
- 2 Les opérateurs arithmétiques en C++
- 3 Les conversions implicites pouvant intervenir dans un calcul d’expression
- 4 Les opérateurs relationnels
- 5 Les opérateurs logiques
- 6 L’opérateur d’affectation ordinaire
- 7 Opérateurs d’incrémentation et de décrémentation
- 8 Les opérateurs d’affectation élargie
- 9 Les conversions forcées par une affectation
- 10 L’opérateur de cast
- 11 L’opérateur conditionnel
- 12 L’opérateur séquentiel
- 13 L’opérateur sizeof
- 14 Les opérateurs de manipulation de bits
- 15 Récapitulatif des priorités de tous les opérateurs
-
Chapitre 5 - Les entrées-sorties conversationnelles de C++
- 1 Affichage à l’écran
- 2 Lecture au clavier
- Chapitre 6 - Les instructions de contrôle
-
Chapitre 7 - Les fonctions
- 1 Exemple de définition et d’utilisation d’une fonction
- 2 Quelques règles
- 3 Les fonctions et leurs déclarations
- 4 Transmission des arguments par valeur
- 5 Transmission par référence
- 6 Les variables globales
- 7 Les variables locales
- 8 Initialisation des variables
- 9 Les arguments par défaut
- 10 Surdéfinition de fonctions
- 11 Les arguments variables en nombre
- 12 La conséquence de la compilation séparée
- 13 Compléments sur les références
- 14 La spécification inline
- 15 Terminaison d’un programme
-
Chapitre 8 - Les tableaux et les pointeurs
- 1 Les tableaux à un indice
- 2 Les tableaux à plusieurs indices
- 3 Initialisation des tableaux
- 4 Notion de pointeur – Les opérateurs * et &
- 5 Comment simuler une transmission par adresse avec un pointeur
- 6 Un nom de tableau est un pointeur constant
- 7 Les opérations réalisables sur des pointeurs
- 8 La gestion dynamique : les opérateurs new et delete
- 9 Pointeurs et surdéfinition de fonctions
- 10 Les tableaux transmis en argument
- 11 Utilisation de pointeurs sur des fonctions
-
Chapitre 9 - Les chaînes de style C
- 1 Représentation des chaînes
- 2 Lecture et écriture de chaînes de style C
- 3 Initialisation de tableaux par des chaînes
- 4 Les arguments transmis à la fonction main
- 5 Généralités sur les fonctions portant sur des chaînes de style C
- 6 Les fonctions de concaténation de chaînes
- 7 Les fonctions de comparaison de chaînes
- 8 Les fonctions de copie de chaînes
- 9 Les fonctions de recherche dans une chaîne
- 10 Quelques précautions à prendre avec les chaînes de style C
-
Chapitre 10 - Les types structure, union et énumération
- 1 Déclaration d’une structure
- 2 Utilisation d’une structure
- 3 Imbrication de structures
- 4 À propos de la portée du type de structure
- 5 Transmission d’une structure en argument d’une fonction
- 6 Transmission d’une structure en valeur de retour d’une fonction
- 7 Les champs de bits
- 8 Les unions
- 9 Les énumérations
-
Chapitre 11 - Classes et objets
- 1 Les structures généralisées
- 2 Notion de classe
- 3 Affectation d’objets
- 4 Notions de constructeur et de destructeur
- 5 Les membres données statiques
- 6 Exploitation d’une classe
- 7 Les classes en général
-
Chapitre 12 - Les propriétés des fonctions membres
- 1 Surdéfinition des fonctions membres
- 2 Arguments par défaut
- 3 Les fonctions membres en ligne
- 4 Cas des objets transmis en argument d’une fonction membre
- 5 Mode de transmission des objets en argument
- 6 Lorsqu’une fonction renvoie un objet
- 7 Autoréférence : le mot clé this
- 8 Les fonctions membres statiques
- 9 Les fonctions membres constantes
- 10 Les membres mutables
-
Chapitre 13 - Construction, destruction et initialisation des objets
- 1 Les objets automatiques et statiques
- 2 Les objets dynamiques
- 3 Le constructeur de recopie
- 4 Initialisation d’un objet lors de sa déclaration
- 5 Objets membres
- 6 Initialisation de membres dans l’en-tête d’un constructeur
- 7 Les tableaux d’objets
- 8 Les objets temporaires
- Chapitre 14 - Les fonctions amies
- Chapitre 15 - La surdéfinition d’opérateurs
- Chapitre 16 - Les conversions de type définies par l’utilisateur
- Chapitre 17 - Les patrons de fonctions
-
Chapitre 18 - Les patrons de classes
- 1 Exemple de création et d’utilisation d’un patron de classes
- 2 Les paramètres de type d’un patron de classes
- 3 Les paramètres expressions d’un patron de classes
- 4 Spécialisation d’un patron de classes
- 5 Paramètres par défaut
- 6 Patrons de fonctions membres
- 7 Identité de classes patrons
- 8 Classes patrons et déclarations d’amitié
- 9 Exemple de classe tableau à deux indices
-
Chapitre 19 - L’héritage simple
- 1 La notion d’héritage
- 2 Utilisation des membres de la classe de base dans une classe dérivée
- 3 Redéfinition des membres d’une classe dérivée
- 4 Appel des constructeurs et des destructeurs
- 5 Contrôle des accès
- 6 Compatibilité entre classe de base et classe dérivée
- 7 Le constructeur de recopie et l’héritage
- 8 L’opérateur d’affectation et l’héritage
- 9 Héritage et forme canonique d’une classe
- 10 L’héritage et ses limites
- 11 Exemple de classe dérivée
- 12 Patrons de classes et héritage
- 13 L’héritage en pratique
- Chapitre 20 - L’héritage multiple
-
Chapitre 21 - Les fonctions virtuelles et le polymorphisme
- 1 Rappel d’une situation où le typage dynamique est nécessaire
- 2 Le mécanisme des fonctions virtuelles
- 3 Autre situation où la ligature dynamique est indispensable
-
4 Les propriétés des fonctions virtuelles
- 4.1 Leurs limitations sont celles de l’héritage
- 4.2 La redéfinition d’une fonction virtuelle n’est pas obligatoire
- 4.3 Fonctions virtuelles et surdéfinition
- 4.4 Le type de retour d’une fonction virtuelle redéfinie
- 4.5 On peut déclarer une fonction virtuelle dans n’importe quelle classe
- 4.6 Quelques restrictions et conseils
- 5 Les fonctions virtuelles pures pour la création de classes abstraites
- 6 Exemple d’utilisation de fonctions virtuelles : liste hétérogène
- 7 Le mécanisme d’identification dynamique des objets
- 8 Identification de type à l’exécution
- 9 Les cast dynamiques
-
Chapitre 22 - Les flots
- 1 Présentation générale de la classe ostream
- 2 Présentation générale de la classe istream
- 3 Statut d’erreur d’un flot
- 4 Surdéfinition de << et >> pour les types définis par l’utilisateur
- 5 Gestion du formatage
- 6 Connexion d’un flot à un fichier
- 7 Les anciennes possibilités de formatage en mémoire
-
Chapitre 23 - La gestion des exceptions
- 1 Premier exemple d’exception
- 2 Second exemple
- 3 Le mécanisme de gestion des exceptions
- 4 Choix du gestionnaire
- 5 Spécification d’interface : la fonction unexpected
- 6 Les exceptions standard
-
Chapitre 24 - Généralités sur la bibliothèque standard
- 1 Notions de conteneur, d’itérateur et d’algorithme
- 2 Les différentes sortes de conteneurs
- 3 Les conteneurs dont les éléments sont des objets
- 4 Efficacité des opérations sur des conteneurs
- 5 Fonctions, prédicats et classes fonctions
- 6 Conteneurs, algorithmes et relation d’ordre
- 7 Les générateurs d’opérateurs
-
Chapitre 25 - Les conteneurs séquentiels
- 1 Fonctionnalités communes aux conteneurs vector, list et deque
- 2 Le conteneur vector
- 3 Le conteneur deque
- 4 Le conteneur list
- 5 Les adaptateurs de conteneur : queue, stack et priority_queue
-
Chapitre 26 - Les conteneurs associatifs
-
1 Le conteneur map
- 1.1 Exemple introductif
- 1.2 Le patron de classes pair
- 1.3 Construction d’un conteneur de type map
- 1.4 Accès aux éléments
- 1.5 Insertions et suppressions
- 1.6 Gestion mémoire
- 1.7 Autres possibilités
- 1.8 Exemple
- 2 Le conteneur multimap
- 3 Le conteneur set
- 4 Le conteneur multiset
- 5 Conteneurs associatifs et algorithmes
-
1 Le conteneur map
-
Chapitre 27 - Les algorithmes standard
- 1 Notions générales
- 2 Algorithmes d’initialisation de séquences existantes
- 3 Algorithmes de recherche
- 4 Algorithmes de transformation d’une séquence
- 5 Algorithmes dits « de suppression »
- 6 Algorithmes de tri
- 7 Algorithmes de recherche et de fusion sur des séquences ordonnées
- 8 Algorithmes à caractère numérique
- 9 Algorithmes à caractère ensembliste
- 10 Algorithmes de manipulation de tas
- Chapitre 28 - La classe string
- Chapitre 29 - Les outils numériques
- Chapitre 30 - Les espaces de noms
- Chapitre 31 - Le préprocesseur et l’instruction typedef
- Chapitre 32 - Introduction aux Design Patterns
-
Annexes
- Annexe A Règles de recherche d’une fonction surdéfinie
- Annexe B Compléments sur les exceptions
- Annexe C Les différentes sortes de fonctions en C++
- Annexe D Comptage de références
- Annexe E Les pointeurs sur des membres
-
Annexe F Les algorithmes standard
- 1 Algorithmes d’initialisation de séquences existantes
- 2 Algorithmes de recherche
- 3 Algorithmes de transformation d’une séquence
- 4 Algorithmes de suppression
- 5 Algorithmes de tri
- 6 Algorithmes de recherche et de fusion sur des séquences ordonnées
- 7 Algorithmes à caractère numérique
- 8 Algorithmes à caractère ensembliste
- 9 Algorithmes de manipulation de tas
- 10 Algorithmes divers
-
Annexe G Les principales fonctions de la bibliothèque C standard
-
1 Entrées-sorties (cstdio)
- 1.1 Gestion des fichiers
- 1.2 Écriture formatée
- 1.3 Les codes de format utilisables avec ces trois fonctions
- 1.4 Lecture formatée
- 1.5 Règles communes à ces fonctions
- 1.6 Les codes de format utilisés par ces fonctions
- 1.7 Entrées-sorties de caractères
- 1.8 Entrées-sorties sans formatage
- 1.9 Action sur le pointeur de fichier
- 1.10 Gestion des erreurs
- 2 Tests de caractères et conversions majuscules-minuscules (cctype)
- 3 Manipulation de chaînes (cstring)
- 4 Fonctions mathématiques (cmath)
- 5 Utilitaires (cstdlib)
- 6 Macro de mise au point (cassert)
- 7 Gestion des erreurs (cerrno)
- 8 Branchements non locaux (csetjmp)
-
1 Entrées-sorties (cstdio)
-
Annexe H Les incompatibilités entre C et C++
- 1 Prototypes
- 2 Fonctions sans arguments
- 3 Fonctions sans valeur de retour
- 4 Le qualificatif const
- 5 Les pointeurs de type void *
- 6 Mots-clés
- 7 Les constantes de type caractère
- 8 Les définitions multiples
- 9 L’instruction goto
- 10 Les énumérations
- 11 Initialisation de tableaux de caractères
- 12 Les noms de fonctions
-
Annexe I C++0x
- 1 Nouvelle sémantique de déplacement
- 2 Amélioration des initialisations
- 3 Amélioration des déclarations de type et for généralisé
- 4 Fonctions dites « lambdas »
- 5 Généralisation de la notion d’expression constante
- 6 Amélioration des fonctionnalités des objets
- 7 Patrons
- 8 Pointeurs intelligents
- 9 Les threads
- 10 Améliorations et extensions de la bibliothèque standard
- 11 Divers
- Index
Product information
- Title: Programmer en langage C++
- Author(s):
- Release date: July 2011
- Publisher(s): Eyrolles
- ISBN: 9782212129762
You might also like
book
Exploring C++20: The Programmer's Introduction to C++
Discover everything you need to know about C++ in a logical progression of small lessons that …
book
Programmer efficacement en C++
Le C++ 11 et plus encore le C++ 14 sont des évolutions significatives du langage C++. …
book
C++17 STL Cookbook
Over 90 recipes that leverage the powerful features of the Standard Library in C++17 About This …
book
C++17 Quick Syntax Reference: A Pocket Guide to the Language, APIs and Library
This quick C++17 guide is a condensed code and syntax reference to the popular programming language, …