C++


Objectif

Le cours a pour objectif la maîtrise des principes de base de la programmation objet avec mise en pratique en C++.

Principaux acquis de la formation :

A l’issue de ce cours, l’étudiant devra être capable de concevoir et écrire un programme C++ dans un environnement de développement intégré :

   – Maîtrise des éléments syntaxiques essentiels du langage C++ : surcharge, références, allocation dynamique, éléments static et const

   – Maîtrise des éléments orientés objets du langage: classes, construction/destruction, héritage, polymorphisme, surcharge d’opérateurs, templates

 

Plan

1) Éléments du langage : variables, expressions, instructions (dont conditionnelles et boucles), fonctions, programme, compilation, concept de portée/durée de vie des variables

2) Tableaux, pointeurs, références, passages d’arguments (par valeur et référence)

3) Concept d’objet en C++. Classe C++. Construction et destruction, portée/durée de vie des objets. Fonctions membres. Modularité, compilation séparée, portée des variables; relation entre les classes (e.g. généralisation/spécialisation, agrégation/composition)

4) Spécialisation. Héritage et polymorphisme. 

5) Notions de classes abstraites et interfaces.

6) Surcharge d’opérateurs

7) Éléments de la STL

8) Elements de programmation générique (templates).

Références

D. Brown, G. Satir, C++ The Core Language: A Foundation for C Programmers, Cambridge

M. Capinscki, T. Zastawniak, Numerical Methods in Finance with C++, Cambridge.

Daniel Duffy, Introduction to C++ for Financial Engineers: An Object-Oriented Approach, Wiley Finance.

M. Joschi, C++ Design Patterns and Derivatives Pricing, Cambridge

B. Stroustrup (Creator of C++), Programming: Principles and Practice Using C++. Pearson Education, 2014.

B. Eckel, Thinking in C++, Vol.I and II, Prentice Hall.