Image de NordWood Themes

C++, Programmation Objet en C++
 

Objectifs

Langage Objet de référence bien avant l'avènement des langages tels que Java ou C#, le C++ a été le promoteur de cette nouvelle approche de la conception et du développement.
Cette formation C++ aborde l'acquisition des concepts Objet et la maîtrise du langage de développement. Cette formation C++ permettra aux participants de concevoir des applications C++ utilisant des classes, de devenir architectes de classes et de créer leur propre architecture.

A qui s'adresse cette formation

Public :

Cette formation C++ s'adresse aux développeurs d'applications.

 

Prérequis :

Pour suivre ce cours, les participants doivent disposer des connaissances et compétences acquises en suivant la formation Langage C

Contenu du cours

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

Les paradigmes de la P.O.O.
La classification
L'encapsulation
L'agrégation, la composition de classes
L'héritage, la dérivation, la sous-classification
L'abstraction
Introduction aux diagrammes de classes UML

C++, le langage

Les types de données, les opérateurs
Le type référence et les pointeurs
Les structures de contrôles
Les fonctions et la surcharge
L'opérateur de résolution de portée
Liaison C - C++
Les paramètres par défaut des fonctions
Les fonctions " inline "

Travaux Pratiques :

Exécution d'exemples pédagogiques illustrant les concepts présentés

Les classes en C++

Définition d'une classe
Les qualificateurs " public " et " private "
Les constructeurs par défaut
Les constructeurs surchargés
Le constructeur de copie
Surcharge de l'opérateur d'affectation
Le destructeur
Les méthodes const
Les membres static

Travaux Pratiques :

Développement de quelques classes simples

La composition en C++

Principe
Ordre d'appel des constructeurs et destructeurs
La liste d'initialisation de constructeur

Travaux Pratiques :

Mise en œuvre d'une relation de composition entre deux classes

L'héritage, la dérivation

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 privé
L'héritage multiple répété et ses difficultés de mise en oeuvre

Travaux Pratiques : 

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
Le mécanisme du polymorphisme
Mise en œuvre du polymorphisme
Les classes abstraites et les fonctions virtuelles pures
Les destructeurs virtuels

Travaux Pratiques :

Mise en œuvre du polymorphisme dans une hiérarchie de classes comportant une classe abstraite

La gestion des exceptions

Principe du traitement des anomalies
Utilisation des mot-clés try, catch et throw
Traiter une exception
Lever une exception
Propager une exception

Travaux Pratiques :

Mise en œuvre d'une gestion d'exception dans une application effectuant des entrées-sorties

Les templates en C++

Principe des templates
Avantages/inconvénients
Syntaxe des templates de fonctions
Syntaxe des templates de classes
Instanciation des templates de fonctions
Instanciation des templates de classes

Travaux Pratiques :

Création d'un template de fonction
Création d'un template de classe

Les pointeurs intelligents (smart pointers C++11)

Danger des pointeurs nus
Principe de la gestion de ressources
Intérêt des smart pointers
Raisons de l'obsolescence de auto_ptr
Mise en œuvre de unique_ptr, shared_ptr

Travaux Pratiques : 

Remplacement, dans une application, de pointeurs nus par des pointeurs intelligents

TechnoWide

3 rue du Golf

Parc Innolin

CS 60073

33701 MERIGNAC CEDEX

Bordeaux

  • LinkedIn Social Icon
© 2020 TechnoWide - tous droits réservés