Formation C++ : Programmation objet en C++

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

À l'issue de cette formation C++, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Concevoir l’architecture d’une application C++ en utilisant ses propres classes ou des classes existantes
  • Savoir programmer objet en C++ (classe, méthode, propriétés, constructeur, instance, etc.)
  • Maîtriser la syntaxe du C++
  • Maîtriser son environnement de développements (outils, compilation, build, etc.)
  • Connaître la norme C++ 11 et les nouveautés introduites par cette version et les suivantes

PLB CONSULTANT


Informatique et Management
Voir la fiche entreprise

Tarif

A partir de 2 690,00 €

Durée 5 jours (35h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

A partir de 2 690,00 €

Durée 5 jours (35h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Description

Apparu au début des années 1980 pour apporter au langage C la dimension objet tout en capitalisant sur ses performances, le langage C++ est encore aujourd’hui toujours très présent dans les projets de développement. Il a apporté de nombreuses améliorations au langage C comme le typage fort, la surcharge de fonctions, la programmation générique, les pointeurs intelligents et une très riche librairie STL (Standard Template Library) qui lui ont permis de maintenir sa popularité.

Cette formation C++ vous permettra de mettre en œuvre tous ces éléments en respectant la syntaxe, y compris celle de l’importante norme C++ 11, afin de livrer un code portable et sécurisé. Vous apprendrez à produire un code de qualité qui respecte les bonnes pratiques professionnelles en matière de conception et de développement objet.

Programme

J1

Les concepts de la Programmation objet essentiels pour bien commencer en C++

Les paradigmes de la P.O.O.
La classification
Contrôler l’accès aux données (encapsulation)
L'héritage, la dérivation
Fournir les informations essentielles (abstraction)
Travaux pratiques (à titre indicatif)Objectifs : Valider que les concepts objets fondamentaux sont maîtrisés par tout le monde 
 Présenter le modèle objet que l’on va utiliser en fil rouge dans la formation (il ne sera pas unique afin de bien comprendre les manipulations communes à toutes les classes et ce qui est spécifique à chacune)
Description : Quizz qui valide dans un premier temps que tout le monde dispose du vocabulaire objet, que ce vocabulaire est commun à tous participants et au formateur, mais aussi que tout le monde a compris en profondeur chaque concept.

C++, le langage

Les types de données, les variables, les constantes
Les tableaux
L’initialisation uniforme
Les opérateurs
Les pointeurs bruts 
Le type référence lvalue 
Les structures de contrôles
Les fonctions et la surcharge
Les expressions lambdas 
L'opérateur de résolution de portée
Les paramètres par défaut des fonctions
Les fonctions " inline "
Les espaces de noms
Les énumérations
Les structures, les unions, les champs de bits
Les compilations séparée et conditionnelle
Passage d’arguments
Les chaînes de caractères en C et en C++
Les alias avec using ou typedef
Travaux pratiques (à titre indicatif)Objectifs : Valider que tout le monde est à l’aise avec son environnement de développement et prend en main la syntaxe de base du C++ (opérateurs, types, tests, etc.).
Description : Réalisation du programme celcius.cpp qui demande la saisie au clavier d'une température en degrés Fahrenheit, puis calcule et affiche la température correspondante en degrés Celsius en interdisant les valeurs hors plage.
Création d’une expression lambda pour détection d’un palindrome.

Les classes en C++

Définition d'une classe
Les qualificateurs " public " et " private "
Instanciation d’une classe
La surcharge de méthodes
Les constructeurs par défaut
Les constructeurs surchargés
Le constructeur de copie
Surcharge de l'opérateur d'affectation
Le destructeur
Le mot-clé this
Les méthodes const
Les membres static
Les méthodes inline
Les fonctions amies
Surcharges d’opérateurs
Les fonctions amies
L’allocation dynamique de mémoire
Les mots-clés default et delete
Le mot-clé final sur classes ou méthodes
Travaux Pratiques (à titre indicatif)Objectifs : Maîtriser la création de classe, l’instanciation, les constructeurs et la surcharge des méthodes
Description : Création d’un classe « counter » permettant de créer un objet qui génère une séquence de nombres (incrémentation, valeur actuelle, affichage, etc.)
Surcharges du constructeur en y passant un nombre ou un objet (pour s’initialiser sur cet objet).
J3

Relations entre classe (association, composition, héritage)

Introduction aux diagrammes de classes UML2
Les associations entre classes : l’association directe, l'agrégation, la composition
Traduction en C++ d’une association, d’une composition
Importance de la liste d’initialisation dans les constructeurs
L'héritage public simple
Ordre d'exécution des constructeurs et destructeurs
Les règles de conversion
Le qualificateur d'accès protected
L'héritage multiple répété et ses difficultés de mise en œuvre
Manipulation d’objets dérivés
Travaux Pratiques (à titre indicatif)Objectifs : Comprendre comment mettre en œuvre une association directe, puis une composition entre classes. Savoir spécialiser une classe existante par héritage pour ne pas tout réécrire en maîtrisant l’impact hiérarchique dans la syntaxe (classe mère et descendance.)
Description : Mise en œuvre d'une relation d’association puis de composition entre deux classes. Construction d'une hiérarchie de classes à trois niveaux. Manipulation d'objets de ces classes. Mise en œuvre d'un héritage multiple répété

Le polymorphisme

Les méthodes virtuelles
Intérêt du polymorphisme
Mise en œuvre du polymorphisme
Les classes abstraites et les méthodes virtuelles pures
Les destructeurs virtuels
Travaux Pratiques (à titre indicatif)Objectifs : Comprendre comment mettre en œuvre une association directe, puis une composition entre classes. Savoir spécialiser une classe existante par héritage pour ne pas tout réécrire en maîtrisant l’impact hiérarchique dans la syntaxe (classe mère et descendance.) 
Description : Mise en œuvre du polymorphisme dans le Design Pattern Factory Method : obtenir un objet d’une sous-classe dans une hiérarchie de classes avec héritage multiple comportant une classe abstraite pure.
J4

La gestion des exceptions

Principe du traitement des anomalies
Utilisation des mot-clés try, catch et throw
Traiter les exceptions sur place
Propager les exceptions
Lever une exception
Créer ses propres classes d’exception
Le mot-clé noexcept
Travaux Pratiques (à titre indicatif)Objectifs : comprendre comment gérer les exceptions dans une application effectuant des entrées-sorties.
Description : Calcul de la somme des soldes mensuels d’un compte bancaire par lecture d’un fichier CSV avec mise en œuvre d’un traitement sur place d’exceptions puis en propageant les exceptions à la fonction appelante.

Les templates en C++

Principe des templates
Avantages/inconvénients
Paramètres template
Syntaxe des templates de fonctions
Surcharge de fonctions template
Syntaxe des templates de classes
Syntaxe des templates de méthodes
Instanciation des templates de fonctions
Instanciation des templates de classes
Instanciation implicite vs instanciation explicite
Spécialisation complète ou partielle d’un template
Travaux Pratiques (à titre indicatif)Objectifs : Comprendre et mettre en œuvre la généricité des types dans une fonction grâce aux templates.
Description : Création d'un template de fonction (fonction rendant le « plus petit » de 2 objets passés en argument indépendamment de leur type). Création d'un template de classe (tableau redimensionnable automatiquement).
J5

Les pointeurs intelligents (smart pointers C++11)

Principe de la gestion RAII des ressources
Danger des pointeurs bruts
Intérêt des smart pointers
Mise en œuvre de unique_ptr, shared_ptr, weak_ptr
Utilisation de make_unique et make_shared
Mise en œuvre d’un destructeur personnalisé
Travaux Pratiques (à titre indicatif)Objectifs : Comprendre la mise en œuvre des smart pointers pour la gestion des ressources
Description : Mise en oeuvre, dans une petite application, de la technique RAII par remplacement des pointeurs bruts par des pointeurs intelligents

Outils de développement

Présentation des IDE courants
Options de compilation
Cross-compilateurs
Génération d’un exécutable, fichiers objets
Utilisation des fonctionnalités de debug
Commande make et cmake sous Linux
Utilisation de git
Travaux Pratiques (à titre indicatif)Objectifs : Savoir debugguer une application et modifier les options de compilation. Savoir packager une application C++.
Description : Recherche de bugs dans une application et correction. Mise en œuvre d’une chaîne de build automatisée.

Aperçu de la librairie STL

Présentation, documentation
Les conteneurs
Les initializer_list
Les itérateurs
Les algorithmes
Les entrées-sorties
L’espace de noms chrono
Les entrées-sorties avec les manipulateurs
La manipulation des fichiers
Démonstration (à titre indicatif)Objectifs : comprendre l’intérêt d’un conteneur pour y stocker des objets et le rôle d’un itérateur. Savoir lire-écrire dans un fichier texte
Description : lecture d’un fichier texte ligne par ligne, création des objets représentés par les chaînes de caractères, mise en œuvre d’un vector pour y stocker les objets et parcours à l’aide d’un itérateur pour supprimer certains objets, tri du vector à l’aide d’un algorithme de tri et d’un foncteur

Présentation des principales nouveautés apportées par C++11/14/17/20

Le mot-clé constexpr
Principe des références rvalue, rôle de std ::move
Intérêt de la move semantics
Les concepts et contraintes
Les modules et partitions
Les coroutines
Le nouvel opérateur de comparaison
Le mot-clé consteval
Démonstration (à titre indicatif)Objectifs : comprendre l’intérêt des références rvalue, des expressions lambdas
Description : ajout, dans une classe, d’un constructeur et d’un opérateur d’affectation par déplacement utilisation d’une expression lambda dans un algorithme de tri

Prérequis

Cette formation C++ demande de savoir développer dans au moins un langage de programmation (C, PHP, Java, C#, Python, etc.) car la formation ne prévoit pas de revenir sur les bases (variables, test, boucle, appel fonction, etc.).
Concernant la dimension objet il est conseillé de disposer d’une culture objet sur les fondamentaux (classe, propriétés, méthodes, instance, héritage) et de ne pas totalement les découvrir même si la formation revient dessus la première demi-journée dans le cadre du C++.

Public

Ce cours C++ s’adresse prioritairement à un public technique comme les développeurs qui souhaitent développer ou maintenir des applications ou modules écrits en C++.
Elle intéressera plus particulièrement les développeurs dans les domaines cibles du C++ comme l’embarqué, le système, les IoT, la communication, etc. mais ne saurait s’y réduire tant les domaines d’application du C++ sont vastes et ses performances attractives pour tous les développeurs.

Ces formations pourraient vous intéresser

Objectifs de la formation

À l'issue de cette formation Première Pro Perfectionnement vous aurez acquis les connaissances et compétences nécessaires pour :

  • Savoir identifier les fonctions avancées du logiciel Premiere Pro.
  • D'apprendre à régler finement vos effets et transitions.
  • Savoir gérer les liens avec d'autres logiciels notamment ceux d'Adobe.
Tarif

A partir de 1 420,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Décrire l'administration des serveurs PostgreSQL, de manière approfondie
  • Administrer et optimiser les éléments des serveurs en production
  • Utiliser les différentes solutions de sauvegardes et restaurations des serveurs PostgreSQL
  • Gérer la haute disponibilité et la réplication
  • Gérer le partitionnement et le parallélisme.
Tarif

A partir de 2 010,00 €

Durée

3j / 21h

Modes
  • Centre
  • Distance

Objectifs de la formation

  • Acquérir la maîtrise essentielle des outils du graphisme et de la PAO.
  • Développer ses connaissances en termes de conception graphique.
  • Maîtriser les bases de la mise en page.
  • Maîtriser les fondamentaux des logiciels :
    • Photoshop ;
    • Illustrator ;
    • InDesign.
Tarif

A partir de 4 305,00 €

Durée

9 jours (63 heures)

Modes
  • Distance
  • Centre

Le droit des contrats - Initiation

Proposé par GROUPE LEXOM

Objectifs de la formation

  • Gérer les notions de base du droit des contrats
  • Mettre en pratique ces connaissances théoriques en droit des contrats
  • Identifier et analyser les différents contrats
  • Apprécier l'opportunité d'une clause
Tarif

A partir de 1 390,00 €

Durée

1j / 7h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

A l'issue de cette formation Jetpack Compose, vous aurez acquis les connaissances nécessaires pour :

  • Comprendre les différents paradigmes de programmation qu’apporte Jetpack Compose
  • Savoir prendre en main les notions élémentaires permettant de construire une interface : thème, texte, boutons, images, formulaires, images, mise en page, décoration ou modification d’un composant et accessibilité
  • Savoir gérer correctement les effets de bords nécessaires dans une application
  • Architecturer correctement son code, en particulier en maîtrisant la notion d'état
  • Réaliser des mises en page structurées qui appliquent les patterns et le style Material Design. Comprendre le principe de conception Slot API Pattern (anti-pattern). Appliquer ce pattern dans la conception de composants structurants quand nécessaire
  • Découvrir et manipuler l’API permettant de réaliser des animations (simples, en une ligne de code, mais aussi plus personnalisées)
  • Découvrir et manipuler les moyens fournis par Jetpack Compose pour tester une interface de manière automatisée
  • Connaître et appliquer les bonnes pratiques de débogage et d’optimisation de performance
Tarif

A partir de 1 480,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Cette formation combine les programmes des formations d'Introduction au web de données d'une part et de Mise en oeuvre des outils d'autre part. Elle permet d'introduire les concepts du web de données (Linked Data, URI, interopérabilité), et de les illustrer par des exemples de réalisation qui les mettent en oeuvre. La formation donne les notions nécessaires pour comprendre les standards du web sémantique : RDF, SPARQL, RDFa, OWL, SKOS; toutes ces notions sont illustrées par des exercices et la manipulation concrète d'outils. Dans sa partie avancée, le programme de formation couvre l'utilisation d'API de programmation Java pour manipuler les données RDF, la modélisation d'ontologies OWL, et la représentation de vocabulaires en SKOS. Par ailleurs, les aspects pratiques de conversion et de publication de données dans les projets sont couverts, ainsi que le SEO sémantique avec schema.org.

A l'issue de cette formation complète, les stagiaires auront acquis les compétences et connaissances nécessaires pour mettre en oeuvre les technologies du web de données pour chaque aspect d'un projet : de la modélisation des données à leur publication en passant par les traitements intermédiaires.

Tarif

A partir de 2 440,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Utiliser les outils de Visual Studio 2019 pour créer des projets de développement ;
  • Ecrire des programmes en langage C# 8 ;
  • Mettre en œuvre les concepts de la programmation orientée objet avec le langage C# 8 ;
  • Utiliser les principales bibliothèques de classes du Framework .NET ;
  • Manipuler les collections d'objets du Framework .NET ;
  • Gérer les erreurs et surveiller le fonctionnement des applications ;
  • Utiliser LINQ to Objects pour requêter sur des grappes d'objets ;
  • Déboguer le code C#.
Tarif

A partir de 990,00 €

Durée

37 heures

Modes
  • Distance

Flash - ActionScript

Proposé par CIT FORMATION INFORMATIQUE

Objectifs de la formation

Graphistes, développeurs, chefs de projets souhaitant développer des applications Web interactives par programmation d'actions.

À l'issue de la formation, le stagiaire sera capable de :

  •     Maîtriser le langage ActionScript

Methodes et outils pédagogiques

  • Alternance exposés théoriques et exercices pratiques (80% pratique)
  • Support de cours adapté au niveau suivi

Evaluation

  • Tout au long de la formation, exercices pratiques permettant au formateur la validation des acquis et des compétences
 

Public concerné

développeurs de sites, informaticiens, designers.

Pré-requis

Connaissances de base en programmation et en développement Web.

Tarif

Contacter l'organisme

Durée

4 jour(s)

Modes
  • Entreprise
  • Centre

Objectifs de la formation

À l'issue de cette formation Certification Java 8 Professionnal Programmer, vous aurez acquis les connaissances et les compétences nécessaires pour : 

  • Mettre les meilleures dispositions possibles pour la réussite de l'examen Certification Java
  • Éviter les classiques sur certaines questions essentielles à la réussite de la certification
Tarif

A partir de 2 070,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Formation Cursus Complet Autocad 2D

Proposé par PLB CONSULTANT

Objectifs de la formation

  • Dessiner des plans en 2D
  • Utiliser les outils de dessins
  • Créer et modifier du texte et des cotations
  • Créer et personnaliser des calques simple
  • Créer et  Modifier des blocs et blocs dynamiques avec des attributs
  • Organiser vos blocs avec la palette d'outils
  • Récupérer des blocs avec Design Center
  • Créer votre bibliothèque de blocs dans un dossier ou dans une palette
  • Utiliser toutes les méthodes d'annotation
  • Filtrer et grouper vos calques
  • Utiliser les échelles d’annotations
  • Gérer vos impressions
  • Modifier vos SCU
  • Créer des contraintes
  • Gérer vos références externes
  • Installer et désinstaller des lisps
Tarif

A partir de 3 840,00 €

Durée

10j / 70h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...