L'École Doctorale SPI de l'université de Montpellier II organise depuis quelques années un cours sur le langage C++, dans le cadre de cours devant être obligatoirement suivis par des étudiants inscrits en première ou deuxième année de doctorat à Montpellier II, dans une discipline autre que l'Informatique.

Ce cours, d'une durée de 20h est assuré pour partie par Christophe Dony (8h), et pour partie par moi-même (12h).

La première partie a pour objectif l'étude des concepts de la programmation par objets, C++ faisant office de langage support.

La seconde partie est plus orientée C++, en montrant sur quelques exemples les difficultés les plus couramment constatées :

Encapsulation
les dates
Voir le corrigé complet de l'exercice 1 du TP 1
Appels des constructeurs/destructeurs
un exemple adhoc
Voir le corrigé complet de l'exercice 3 du TP 1
Types abstraits, allocation dynamique, généricité
les piles bornées (génériques ou non) et non bornées (génériques ou non)
Voir le corrigé complet de l'exercice 4 du TP 1 et de l'exercice 1 du TP 2
Constructeur de recopie / affectation
un exemple adhoc et les vecteurs
Voir le corrigé complet de l'exercice 2 du TP 2 et de l'exercice 2 du TP 3
Membres statiques
les compteurs d'instances
Voir le corrigé complet de l'exercice 3 du TP 3
Héritage simple élémentaire (définitions de constructeurs, fonctions virtuelles)
les animaux
Voir le corrigé complet de l'exercice 4 du TP 3
Héritage simple (sémantique du lien d'héritage, accès aux super-membres)
les figures (partie 1 de l'exercice)
Voir le corrigé complet de l'exercice 1 du TP 4
Héritage multiple (conflits d'héritage, classes virtuelles)
les figures (partie 2 de l'exercice) et les étudiants sportifs
Voir le corrigé complet des exercices 1 et 2 du TP 5

Philippe REITZ (reitz@lirmm.fr)