Programmation en C++
Objectifs
- Acquérir les principes de base de la programmation Objet (polymorphisme, héritage, encapsulation)
- Maîtriser le langage C++
- Savoir réaliser des applications réutilisables
- Connaître les meilleures pratiques de tests de qualité en C++
Programme
Du procédural à l’objet
- Bref historique des langages
- Critères de qualité dans un développement logiciel
- Aperçu général des langages orientés Objet
Les concepts objet
- Classes, objets (constructeurs et paramètres par défaut)
- Encapsulation (visibilité public-private-protected, namespaces)
- Membres et méthodes de classes (static)
- Héritage simple
- Héritage multiple (classe de base virtuelle)
- Polymorphisme (virtuel), Classes abstraites (virtuel pures)
- Interfaces
Syntaxe C++
- Fonctions « Friends »
- Fonctions « Inline »
- Paramètre caché this
- Point d’entrée main avec arguments
- Type références
- Classes imbriquées (Inner class)
- Inclusion des headers et références multiples
- Utilisation du qualificateur const
- Bibliothèque standard d’E/S
- Gestion dynamique de la mémoire
- Destructeurs virtuels
- Typage dynamique avec RTTI
Traitement des exceptions
- Traitement des erreurs dans les programmes
- Traitement des erreurs en C++
- Traitement des exceptions imbriquées
- Classes d’exception applicatives
Surcharge
- Surcharge des fonctions
- Surcharge d’opérateurs
- Surcharge de l’opérateur new (avec nothrow) et set-new_handler
Patrons – « Templates »
- Définitions de patrons, syntaxe et instanciation
- Patrons de fonctions
- Template de classes (exemple avec la classe smart pointer)
Points clé de la STL
- Présentation des principaux conteneurs (vector, list, set, map, deque)
- Critères de choix pour un conteneur STL
- Les itérateurs
- Les algorithmes génériques
Introduction aux Design Pattern
- Pattern singleton
- Modèle observateur MVC avec exemple d’implémentation en C++
Qualité logicielle
- Les best practices en C++
- Règles de conception et astuces de codage
- Conclusion avec comparatif Java / C++
Please login to get access to the quiz
Back to Développement C/C++ Perl et Python
Pas de commentaires