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 dun texte source
Messages derreur
Symboles et identificateurs
Commentaires
Types de données et variables
Caractérisation des types
Déclarations de variables
Définitions de variables
Modification dune variable par affectation
Des fonctions et des programmes
Une fonction élémentaire
La fonction principale
Appel dune 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 dun tableau
Recopie de tableaux
Initialisation dun 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 dexécution
Arrêt dune boucle par
break
Saut dans une boucle par
continue
Arrêt dune 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 dune 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 dune fonction
Fonctions en ligne
inline
Différentes variables et leur visibilité
Bloc dinstructions
Conflit didentificateurs
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 dune 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 dun destructeur
Retour sur lexemple
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 dopé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 daffectation
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 dentré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 dentré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 dinclusion
#include
Définition de paramètres par
#define
Contrôle de compilation par
#if
Constantes prédéfinies
Messages derreur 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