Course : C++, Object programming

Practical course - 5d - 35h00 - Ref. CGE
Price : 2610 € E.T.

C++, Object programming



New course

On completion of the course, participants will be able to apply the fundamental principles of object-oriented design and design applications in C++. This training program is intended for employees of professional branches covered by the OPCO Atlas.


INTER
IN-HOUSE
CUSTOM

Practical course
Disponible en anglais, à la demande

Ref. CGE
  5d - 35h00
2610 € E.T.




On completion of the course, participants will be able to apply the fundamental principles of object-oriented design and design applications in C++. This training program is intended for employees of professional branches covered by the OPCO Atlas.


Teaching objectives
At the end of the training, the participant will be able to:
Understand the syntax and fundamental concepts of C++
Master the major additions to the C++ standards
Apply the principles of object-oriented design
Write simple programs using good development practices
Using control structures and data types in C++
Basic file and memory handling

Intended audience
For OPCO Atlas members: developers, engineers, project managers with close links to development.

Prerequisites
Familiarity with the principles of object-oriented programming (OOP) and experience of a programming language...

Practical details
Hands-on work
Case studies and practical exercises.
Teaching methods
70% pratique – 30% théorie. Pour optimiser le parcours d’apprentissage, des modules e-learning peuvent être fournis avant et après la session présentielle ou la classe virtuelle, sur simple demande du participant.

Course schedule

1
Java, learning object-oriented programming - Pre-training digital learning content

  • Introduction.
  • Classes.
  • Inheritance.
Digital activities
Object-oriented programming (OOP) is a paradigm now present in all modern programming languages. These concepts enable the production of efficient, powerful and easy-to-maintain code. This online training course introduces the key concepts of object-oriented programming, such as the notion of class and inheritance.

2
A reminder of how C++ works

  • Presentation of the C++ language and its evolutions.
  • Install tools (compiler, IDE, project manager).
  • Structure of a C++ program.
  • Compilation, execution, source file management.
Hands-on work
Installation et configuration de l’environnement. Structure et syntaxe de base. Exercices de contrôle de flux.

3
Tables, strings and data management

  • Static and dynamic tables.
  • Character strings (C and C++).
  • Standard I/O and files.
Hands-on work
Manipulation de données. Exercices sur les structures de données. Optimisation et bonnes pratiques.

4
Object-oriented programming

  • Classes and objects.
  • Encapsulation, abstraction.
  • Builders, destroyers.
  • Static and instance members.
Hands-on work
Création de classes simples. Héritage et polymorphisme. Cas d’usage avancés.

5
Testing and optimization

  • Unit testing with C++ frameworks (Catch2, GoogleTest).
  • Performance optimization techniques.
  • Memory management strategies.
Hands-on work
Tests unitaires avancés. Optimisation des performances. Déploiement optimisé.

6
Memory management in C++

  • Dynamic allocation (new, delete).
  • Pointers, references, smart pointers.
  • Memory leaks, resource management (RAII).
  • Good memory management practices.
Hands-on work
Manipulation de la mémoire. Atelier RAII et gestion des ressources. Optimisation mémoire.

7
Introduction to STL (Standard Template Library)

  • Introducing the STL and its benefits.
  • Main containers: vector, list, map, set.
  • Iterators and collection paths.
  • Standard algorithms (sort, find, etc.).
Hands-on work
Manipulation des conteneurs STL. Exercices sur les algorithmes STL. Optimisation et bonnes pratiques STL.

8
Advanced patterns and design

  • Classic design patterns (Singleton, Factory, Observer, etc.).
  • Using templates for generic patterns.
  • Best practices in object-oriented design.
Hands-on work
Implémentation de patterns. Patterns avancés et templates. Cas d’usage et revue de code.

9
Advanced testing and optimization

  • Advanced unit testing (mocks, parameterized tests).
  • Performance optimization (profiling, code analysis).
  • Refactoring strategies.
Hands-on work
Tests avancés. Optimisation et refactoring. Déploiement et synthèse.

10
Generic programming and templates

  • Function and class templates.
  • Specialization and template overload.
  • Variadic templates and basic metaprogramming.
  • Best practices and pitfalls to avoid.
Hands-on work
Création de templates. Métaprogrammation et templates avancés. Optimisation et bonnes pratiques.

11
Exception handling and robustness

  • Exception handling (try, catch, throw).
  • Customized exceptions.
  • Best practices in error management.
  • Impact on performance and legibility.
Hands-on work
Manipulation des exceptions. Exercices sur la robustesse. Bonnes pratiques et revue de code.

12
Integration of complex projects

  • Organization of a multi-file project.
  • Use of CMake or other build tools.
  • Dependency management and modularity.
  • Automated documentation and testing.
Hands-on work
Structuration d’un projet. Intégration et gestion des dépendances. Cas d’usage et revue de projet.

13
Testing, CI/CD and synthesis

  • Advanced unit and integration testing.
  • Introduction to continuous integration (CI/CD).
  • Automated build and test tools.
  • Synthesis of the day's findings.
Hands-on work
Mise en place de tests automatisés. CI/CD et automatisation. Synthèse et plan d’action.

14
Advanced programming in C++

  • Lambda expressions, auto, nullptr, move semantics.
  • For-range loops, uniform initialization.
  • Advanced smart pointers, resource management.
  • Anonymous functions and closures.
Hands-on work
Exercices sur les nouveautés du langage. Ateliers sur la modernisation du code. Optimisation avancée.

15
Safety and robustness in C++

  • Memory security (buffer overflow, use-after-free).
  • Best practices for input validation.
  • Concurrent access management (mutex, threads).
  • Security analysis tools.
Hands-on work
Analyse de vulnérabilités. Exercices sur la concurrence. Bonnes pratiques et revue de code.

16
Performance and multithreading

  • Introduction to multithreading in C++.
  • Use of threads, futures, promises.
  • Synchronization and management of shared resources.
  • Profiling and performance analysis tools.
Hands-on work
Mise en œuvre du multithreading. Optimisation de la concurrence. Cas d’usage et revue de code.

17
Testing, monitoring and synthesis

  • Performance and load testing.
  • Monitoring tools (Valgrind, perf, etc.).
  • Log analysis and anomaly detection.
  • Synthesis of the day's findings.
Hands-on work
Tests de performance. Monitoring et analyse. Synthèse et plan d’action.

18
Summary project

  • Analysis of specifications.
  • Modular, object-oriented design.
  • Development of a complete C++ application.
  • Test integration, optimization and documentation.
Hands-on work
Réalisation du projet. Soutenance et retours.

19
Consolidating best practices

  • Good development practices C++.
  • Error and exception handling.
  • Technical and user documentation.
  • Maintenance and evolution planning.
Hands-on work
Revue de code croisée. Atelier documentation et maintenance. Synthèse et bonnes pratiques.

20
Personal action plan and closing

  • Setting personal goals.
  • Identify resources and tools for progress.
  • Planning for practical use.
  • On-the-spot evaluation and feedback.
Hands-on work
Élaboration du plan d’action personnel. Évaluation et feedback. Clôture et perspectives.

21
UML, learning to model with diagrams - Post-training digital learning content

  • Fundamental concepts.
  • Structural diagrams.
  • Behavioral diagrams.
Digital activities
This online training course presents the fundamentals of object-oriented design, the various UML structural and behavioral diagrams, as well as their objectives and uses. An example of an object-oriented design will be used to put into practice the application of UML to efficiently specify, visualize and document a computer system.


Dates and locations
Select your location or opt for the remote class then choose your date.
Remote class

Dernières places
Date garantie en présentiel ou à distance
Session garantie

REMOTE CLASS
2026 : 30 Mar., 22 June, 5 Oct., 14 Dec.

PARIS LA DÉFENSE
2026 : 23 Mar., 15 June, 28 Sep., 7 Dec.

LILLE
2026 : 30 Mar., 22 June, 5 Oct., 14 Dec.