Formation Programmation C++

perfectionnement :

En constante évolution, le langage C++ offre des mécanismes qui permettent une conception robuste et très riche. Les récentes normes C++ intègrent une part importante des bibliothèques du projet Boost et améliorent notablement la Standard Template Library (STL). Cette formation vous permettra d'approfondir la conception en C++ par l'apprentissage des dernières évolutions du langage et l'utilisation effective de la STL.

Objectifs pédagogiques :

  • Découvrir les nouveautés apportées par la version C++11
  • Maîtriser la gestion de la mémoire, des pointeurs et des références
  • Implémenter la généricité en C++
  • Découvrir la bibliothèque standard STL
  • Utiliser la librairie Boost et C++11
  • Tp : Le cours se déroulera sur des stations de travail sous Windows/Visual C++. De nombreux exercices permettront de mettre en oeuvre les thèmes abordés plus spécifiquement sous l'angle de la conception.



Tarification et déroulement

Formation continue

400 DH/Mois ≈

  • Type de formation : En groupe
  • Volume horaire : 32 heures
  • Durée de la formation : 4 mois
  • Début de la formation : Le
  • Dernier délais d'inscription : Le
  • Déroulement : Une séance de 2h par semaine
  • Horaire : À déterminer après la fin de votre inscription pour s'adapter aux emplois de temps des inscrits

Formation continue Accélérée

1000 DH/Mois ≈

  • Type de formation : En groupe
  • Volume horaire : 48 heures
  • Durée de la formation : 2 mois
  • Début de la formation : Le
  • Dernier délais d'inscription : Le
  • Déroulement : 3 séances de 2h par semaine
  • Horaire : À déterminer après la fin de votre inscription pour s'adapter aux emplois de temps des inscrits

Formation Accélérée

4000 DH ≈

  • Type de formation : Individuel
  • Volume horaire : 32 heures
  • Début de la formation : Dans un délais de 24 h aprés la validation de votre inscription
  • Horaire : Flexible selon votre disponibilité et la disponibilité de l'enseignant
  • Répartition des heures de la formation : vous pouvez terminer dans un délais de 4 jours ou bien répartir votre heures selon votre rythme, votre engagement

Formation continue

1000 DH/Mois ≈

  • Type de formation : Individuel
  • Volume horaire : 32 heures
  • Durée de la formation : 4 mois
  • Début de la formation : Dans un délais de 24 h aprés la validation de votre inscription
  • Déroulement : Une séance de 2h par semaine
  • Horaire : À déterminer après la fin de votre inscription
×

Formulaire d'inscription au Competence Center

Virement Bancaire

Comment dois-je faire pour payer les frais d'inscription

Competence Center met à votre disposition des méthodes de paiement flexibles et en toute sécurité

Paiement par virement bancaire (RIB : 127270212119022082000414).

Paiement en cash chez notre centre (À côté de la pharmacie Bahja sur l'avenue Mhd 5, au-dessus du café El Mamouniya).

Programme de formation

1 Rappels :

  • Classes d'allocation mémoire.
  • Construction, initialisation, embarquement d'objets.
  • Les fuites mémoire.
  • Constance, le mot-clé mutable, Lazy Computation.
  • Amitié (friendship) C++ et contrôle d'accès.
  • Destruction virtuelle.
  • Les espaces de nommage (namespace).

2 Les nouveautés langage de C++11 : :

  • nullptr et autres littéraux.
  • Les directives =delete, =default.
  • Délégation de constructeurs.
  • Les énumérations "type safe".
  • Le mot-clé auto et boucle sur un intervalle.
  • Référence rvalue et impact sur la forme normale des classes C++.
  • Les lambda expressions.
  • Tp : Réécriture d'un code C++ existant en C++11, comparaison des deux implémentations.

3 Gestion des opérateurs :

  • Opérateurs binaires et unaires.
  • L'opérateur d'indirection, cas d'usage.
  • L'opérateur de référencement.
  • Les opérateurs d'incrémentation/décrémentation préfixés et post-fixés.
  • Les autres opérateurs : comparaison, affectation...
  • La surcharge de l'opérateur [], des opérateurs d'insertion (<<) et d'extraction (>>).
  • Les foncteurs et la surcharge de l'opérateur (), avantage par rapport aux fonctions.
  • Tp : Création de foncteurs et de proxies (libération mémoire, comptage de références) avec les opérateurs étudiés.

4 Conversion et RTTI :

  • Opérateurs de conversion. Constructions implicites, le mot-clé explicit.
  • Les opérateurs de casting const_cast, static_cast, reinterpret_cast.
  • Conversion dynamique et Runtime Type Information.
  • L'opérateur typeid, les exceptions liées.
  • La classe type_info.
  • Contrôle du "downcasting" à l'aide de l'opérateur dynamic_cast.
  • Tp : Mise en œuvre des idiomes "is-a" et "is-kind-of" avec dynamic_cast.

5 La généricité :

  • Introduction aux patrons de classe. Généricité et préprocesseur.
  • Fonction générique. Classe générique. Composition générique. Généralisation générique.
  • Spécialisation partielle et totale.
  • Introduction à la méta-programmation.
  • La généricité, principe fédérateur des librairies STL et Boost.
  • Tp : Démarrage de l'étude de cas qui sera complétée avec la STL et Boost. Mise en œuvre de la composition et de la généralisation génériques. Création de plug-ins génériques.

6 La STL (Standard Template Library) :

  • Composants de la STL : types complémentaires, conteneurs, algorithmes, itérateurs, objets fonctions, les adaptateurs.
  • Les chaînes de caractères STL, la classe template basic_string et ses spécialisations.
  • Les conteneurs séquentiels et associatifs : définition, rôle et critères de choix.
  • Les allocateurs et la gestion de la mémoire des conteneurs.
  • Les méthodes d'insertion, de suppression, d'itération et d'accès aux principaux conteneurs : Vector, List, Set, Stack...
  • Le concept d'itérateur. Parcours d'un conteneur.
  • Les différents groupes d'algorithmes STL : non mutants, mutants, de tri et de fusion, numériques.
  • Manipulation de conteneurs (manipulation, recherche de valeurs...).
  • Paramétrer les algorithmes génériques par des objets "fonction".
  • Les "adapteurs" et la modification du comportement d'un composant.
  • La STL et les traitements sur les flux (fichiers, mémoire...).
  • Principe du RAII : les pointeurs automatiques et la classe auto_ptr.
  • Les exceptions standard de la STL.
  • Tp : Implémentation des relations avec les collections de la STL. Utilisation d'algorithmes standard quelconques.

7 Les nouveautés C++11 de la librairie standard :

  • Evolution historique : Boost --> TR1 --> C++11.
  • Les nouveaux conteneurs : array, forward_list, unordered_set, unordered_map.
  • La classe tuple.
  • Les pointeurs intelligents (smart pointer) : shared_ptr, weak_ptr, unique_ptr.
  • Les nouveaux foncteurs et binders.
  • Introduction à la gestion des threads.
  • Les expressions régulières.
  • Tp : Mise en œuvre de la robustesse avec les smart pointers. Utilisation d'expressions régulières.

8 Boost :

  • La Pointer Container Library (destruction des données pointées d'un conteneur).
  • Les structures de données boost::any et boost::variant.
  • Programmation événementielle (connexions et signaux).
  • Gestion des processus, mécanismes de communication interprocessus et mémoire partagée.
  • Tp : Amélioration de l'implémentation de l'étude de cas par l'utilisation la Pointer Container Library.

9 Utilisation avancée de l'héritage :

  • Héritage versus embarquement. Héritage privé. Héritage protégé.
  • Exportation de membres cachés avec la Clause Using.
  • Héritage multiple et gestion des collisions de membres.
  • Héritage en diamant. Héritage virtuel et dynamic_cast.
  • Principes de conception : substitution de Liskov, principe d'ouverture/fermeture, inversion des dépendances.
  • Règles d'implémentation des interfaces en C++.
  • Tp : Combinaison de l'héritage multiple, privé et de l'exportation pour concevoir des classes robustes et hautement évolutives.

Notre priorité

Formation flexible

Vous souhaitez actualiser vos connaissances ou acquérir un diplôme ? Choisissez parmi les différentes formations en informatique le cours qui vous convient, à vos rythme, tout au long de vos formation.

Qualités requises

L’informatique est un outil majeur de stratégie et de compétitivité. Il est devenu indispensable aux entreprises et au grand public... Profitez des conseils avec nous pour bien maîtriser l’informatique.

Formation à distance

Il est possible de devenir webmaster, webdesigner ou référenceur... Profitez avec notre centre des formations diplômantes et certifiantes à distance pour s’orienter aux métiers du web.

prix compétitifs

Depuis la création de notre centre, nous ne cessons de développer nos connaissances pour assurer de formation performante avec un prix abordable, raisonnable et particulièrement avantageux.