(voir Sommaire réduit)


Accueil

Introduction

Qu'est-ce que C++ ?
Note aux programmeurs connaissant le C
Plan du site
Des exercices

1/ Éléments de base

Compilation et structure d’un texte source
Messages d’erreur
Symboles et identificateurs
Commentaires
Types de données et variables
Caractérisation des types
Déclarations de variables
Définitions de variables
Modification d’une variable par affectation
Des fonctions et des programmes
Une fonction élémentaire
La fonction principale
Appel d’une fonction
Fonctions avec arguments
Boucles et branchements
Instruction de branchement simple if
Boucles simples while et do
Boucle complexe for
Déclarations internes

2/ Types prédéfinis et opérateurs

Types entiers
Constantes entières
Constantes hexadécimales et octales
Opérateurs sur les entiers
Caractères et chaînes
Chaînes de caractères constantes
Nombres à virgule flottante
Opérateurs sur les décimaux
Opérateurs et raccourcis
Incrémentation et décrémentation
Opérateurs logiques
Instruction opératoire et affectation
Changements de type
Autres raccourcis et opérateurs
Précédence des opérateurs

3/ Types composés

Références
Tableaux
Tableaux sans dimension
Dépassement des index d’un tableau
Recopie de tableaux
Initialisation d’un tableau
Tableaux multidimensionnels
Pointeurs
Pointeurs ou références ?
Arithmétique des pointeurs
Pointeur sur rien, pointeur sur tout
Pointeurs ou tableaux ?
Allocation dynamique de la mémoire
Opérateurs new et delete

4/ Autres capacités du langage

Constantes
Enumérations
Interruptions d’exécution
Arrêt d’une boucle par break
Saut dans une boucle par continue
Arrêt d’une fonction
Arrêt du programme
Instruction de redirection multiple switch
Variables registres
Définitions de types
Variables volatiles
Arguments de main

5/ Fonctions

Prototypes de fonctions
Arguments d’une fonction
Passage par valeur
Arguments tableaux
Passage par référence
Arguments constants
Ordre d’évaluation des paramètres
Arguments par défaut
Ellipse
Accès aux variables globales
Résultat d’une fonction
Fonctions en ligne inline
Différentes variables et leur visibilité
Bloc d’instructions
Conflit d’identificateurs
Variables statiques et dynamiques
Recouvrement des fonctions
Récursivité
Pointeurs sur des fonctions

6/ Classes et structures

Structures
Utilisation des structures
Adressage des champs
Définition
Types des champs
Arguments de fonctions
Déclaration sans définition
Fonctions membres
Déclaration
Implantation
Appel d’une fonction membre
Méthodes en ligne
Ordre de déclaration
Différences entre données et fonctions membres
Pointeurs sur membres
Membres statiques
Protection des données
Un exemple
Classes
Constructeurs et destructeurs
Constructeurs
Constructeurs par défaut
Appel des constructeurs
Constructeurs de copie
Destructeurs
New et delete avec constructeurs et destructeurs
Appel explicite d’un destructeur
Retour sur l’exemple
Variables globales et statiques
Initialisations multiples
Intérêt des constructeurs
Polymorphisme
Unions et champs de bits
Champs de bits
Unions

7/ Amies et opérateurs

Amies
Fonctions amies
Méthodes amies
Classes amies
Redéfinition d’opérateurs
Opérateurs sur de nouvelles classes
Opérateurs unaires
Opérateurs redéfinissables et hypothèses
Types dont on peut redéfinir les opérateurs
Opérateurs de changement de type
Incrémentation et décrémentation
Opérateurs [] et ()
Opérateurs d’affectation
Opérateurs new et delete
Opérateurs new et delete globaux
Opérateurs membres ou amis

8/ Héritage

Réutilisation du code
Méthodes héritées
Constructeurs et destructeurs
Membres privés, publics, protégés
Méthodes virtuelles
Destructeurs virtuels
Polymorphisme et classes abstraites
Compatibilité
Compatibilité des pointeurs
Polymorphisme par héritage
Classes abstraites
Polymorphisme automatique
Héritage multiple
Conflits de noms
Arbre de dérivation
Héritage virtuel
Fonctionnement interne

9/ Flots d’entrées-sorties

Classes de flots
Flots généraux : classe ios
État des flots
Mode d’écriture
Indicateurs de format
Autres éléments
Flots de sortie : classe ostream
Changement de position
Écriture non formatée
Écriture formatée
Nouvelles sorties
Flots d’entrée : classe istream
Changement de position
Lecture non formatée
Réinsertion
Lecture formatée
Flots mixtes : classe iostream
Flots prédéfinis
Flots sur disques et fichiers
Flots en mémoire
Manipulateurs

10/ Préprocesseur, éditeur de liens et fichiers multiples

Le préprocesseur
Directive d’inclusion #include
Définition de paramètres par #define
Contrôle de compilation par #if
Constantes prédéfinies
Messages d’erreur par #error
Directives particulières #pragma
Macros
Un outil à employer avec prudence
Classes génériques
Éditeur de liens, fichiers multiples
Librairies standard
Fichiers multiples
Projets
Objets externes ou statiques

Annexes

Liste des mots réservés de C++ et Turbo C++
Précédence des opérateurs