Description

C++ est un langage permettant la programmation sous de multiples paradigmes (procédural, fonctionnel, objet, générique…). Conçu comme une extension de C, il en conserve ses très bonnes bonnes performances, ce qui en fait un des langages de programmation les plus utilisés dans les applications où la performance est critique.

Période(s) du cours

SD9

Prérequis

1CC1000 : Systèmes d'Information et Programmation
1CC2000 : Algorithmique et Complexité

Syllabus

- Rappels sur l'architecture d'un ordinateur et sur l'exécution de programmes
- Préprocesseur, éditeur de liens, main(), espaces de noms
- Variables, types simples, tableaux
- Définition de fonctions, passage d'arguments, retour de valeur
- Lecture et affichage
- Structures de contrôle
- Pointeurs, allocation dynamique
- Agrégats, énumérations
- Références
- Concepts objets
- Mise en œuvre en C++
- Constructeurs, destructeur
- Méthodes et attributs de classe
- Héritage, polymorphisme
- Surcharge des opérateurs
- Entrées/sorties pour les types utilisateurs
- Identification dynamique de type
- Exceptions
- Généricité
- Bibliothèque standard
- Pointeurs intelligents
- Threads, synchronisation
- Parallélisme via des bibliothèques

Composition du cours

- Cours magistraux : 9h00
- Travaux dirigés : 6h00
- Travaux pratiques : 9h00

Ressources

Ce cours est constitué de cours magistraux pour présenter les concepts, et de travaux dirigés et pratiques permettant une appropriation opérationnelle de ces concepts.

Résultats de l'apprentissage couverts par le cours

À l'issue de ce cours, les élèves seront capables :
- d'écrire des programmes corrects et performants en C++ ;
- d'utiliser des bibliothèques adaptées au problème à résoudre.

Support de cours, bibliographie

Livres
- The C++ Programming Language - Bjarne Stroustrup
- Programmer en C++ : Des premiers pas à la maîtrise de C++20 - Alain Gibaud - Ellipses
- Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 - Scott Meyers
Supports
- Transparents projetés pendant les cours magistraux
- Énoncés et corrigés des exercices des travaux dirigés, énoncés des exercices des travaux pratiques