- Présentation du cours
- Cours n° 1 (17 septembre) : Rappels de C
- Avertissement
- Déclarations/définitions
- Initialisation/affectation
- Variables
- Types de base
- Booléen: bool
- Entiers : char, short,
int, long
- Flottants : float, double,
long double
- Chaînes de caractères : char * et string
- Structures de contrôle : if ... then ... else,
for, while, do ... while,
switch
- Passages de paramètres
- Appels de fonctions : la pile
- Fichier fact.cpp
- Organisation d'un programme en plusieurs fichiers
- Cours n° 2 (1 octobre) : Tableaux et pointeurs
- Pointeurs
- Emplacements et adresses : opérateur &
- Pointeurs
- déclaration
- opérateurs = et *
- opérateurs ==, !=, < et
>
- valeur 0
- Adresse passée en paramètres
- Adresse retournée par une fonction
- Utilisations
- liens et chaînages entre objets
- passage de paramètres
- allocation dynamique
- accesseurs
- Tableaux
- Accès aux éléments
- Initialisation
- Tableaux et pointeurs
- Arithmétique des pointeurs : +, -, ++
et --
- Passage d'un tableau en paramètre
- Cours n° 3 (24 septembre) : Tableaux à plusieurs dimensions
- Tableaux à plusieurs dimensions
- Tableaux à plusieurs dimensions
- Tableaux à plusieurs dimensions en paramètre
- Deux stratégies de contournement
- Organisation d'un programme
- Cours n° 4 (8 octobre) :
- Commentaires avec //
- Emplacements des déclarations
- Classes
- Initialisation/affectation
- Déclaration et définition d'une classe
- Membres et méthodes
- Le pointeur this
- Constructeurs et destructeurs
- Appels des constructeurs
- Constructeur par défaut
- Cours n° 5 (15 octobre) : délégation
- Portée des noms
- Surchage de fonction/méthode
- Paramètres par défaut des fonctions/méthodes
- Constantes: variables, paramètres, attributs
- Constantes et pointeurs : const int* et int* const
- Délégation (durée entre deux dates)
- liste d'initialisation du constructeur
- Visibilité : public et private
- Cours n° 6 (22 octobre) : Références et membres statiques
- Références
- principe
- passage de paramètre par référence
- retour de valeur par référence
- Membres statiques
- Cours n° 7 (29 octobre) : allocation dynamique
- Allocation dynamique d'un tableau dans une méthode
- Libération d'un tableau
- Allocation dans une classe
- Pointeur dans la classe
- Utilisation du constructeur et du destructeur pour allouer le tableau
- Exemple de classe pour un tableau vérifiant les bornes
- Redéfinition du contructeur de copie et de l'opérateur d'affectation
- Cours n° 8 (5 novembre) : allocation dynamique (suite)
- Contruction ? : et ,
- Allocation dans une classe
- Accesseur int at(int) et void at(int, int)
pour lire et écrire une valeur
- Accesseur int* at(int) avec pointeurs
- Accesseur int& at(int) avec références
- Accesseur int& operator[](int) avec références
- Classes pour les tableaux à deux dimensions
- Deux implémentations
- Écriture des constructeurs, destructeurs et opérateurs d'affectation
- Écriture de int& operator()(int, int)
pour les deux implémentations
- Partiel le 19 novembre de 13h30 à 16h30 en salles 0011 et 2035
- Cours n° 9 (26 novembre) : héritage
- Principe d'amitié : friend
- Héritage des attributs et des méthodes
- Ajout d'attribut
- Variables et affectation
- Membres publics et privés et protégés :
public, protected et private
- Appel du constructeur de la classe mère
- Conversion implicite
- Cours n° 10 (3 décembre)
- Pointeurs, référence et héritage
- Redéfinition de méthode
- Méthodes virtuelles et non virtuelles
- Cours n° 11 (10 décembre)
- Méthodes et classes abstraites
- tableaux à deux dimensions
- suites de nombres
- Exceptions
- Cours n° 12 (17 décembre)
- Programmation générique
- fonction max
- classe Array
- Cours n° 13 (7 janvier) STL
- Cours n° 14 (14 janvier)
- Cours n° 15 (21
janvier) Design
patterns et lambda-expressions
- Lambda-expressions
- Itérateur
- Visiteur (opérateur de sortie et méthode virtuelle)
- Fabrique (classe pour les suites)
- Singleton
- Cours n° 16 (28 janvier) Révisions
- Examen le mercredi 11 février de 14h à 17h en salles 1015 et 2015