Développement C/C++ Perl et Python

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
Développer avec Python (Prev Lesson)
(Next Lesson) Développer avec le langage C
Back to Développement C/C++ Perl et Python
Public

<li>Développeurs</li><li>Concepteurs</li>|<li>Développeurs</li><li>Concepteurs</li>

Pré-requis

Avoir des connaissances en C|Avoir des connaissances en C