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