Reinvent your training with agile, tailor-made solutions.
Log in
Or create your account
You have just added to your selection
Your cart is empty, See our trainings

Description

This intensive course has two objectives: to present to participants the methods and reflexes of object programming; provide them with complete operational mastery of the C++ language. It is the result of long experience in development in C++ and is built according to a rigorous pedagogy based on numerous progressive practical works. During these 5 days, the trainer will present the evolution of the standards from C++98 to C++20.

Who is this training for ?

For whom ?

Developers, engineers and project managers close to development.

Prerequisites

Good knowledge of a programming language such as C, Java, Python, C#, VB.NET or PHP.

Training objectives

Mastery of syntax in C++
Apply object-oriented design concepts.
Use of development tools related to the C++ language
Master the major new features of the C++ 11 standard.

Training program

    • Data: definition, initialization, data types.
    • Expressions: notion of reference, casting mechanisms.
    • Operators (: :, new, delete).
    • Functions (passing parameters and return value by reference, default values, inlining, overloading).
    • Using C code in a C++ program.
    • References (arguments and return values).
    • Constant types.
    • Namespaces.
    • "Automatic" typing with keyword auto (C++ 11).
    • Practical work Getting started with the development environment and programming a simple program.
    • The general principles of object-oriented techniques.
    • C++ and object programming.
    • An introduction to object-oriented methodologies.
    • An introduction to models and UML notation (static model, dynamic model, cooperation model, scenario).
    • Practical work Application of concepts to a case study which will be one of the guiding threads of the following exercises .
    • Syntactic aspects: fields, methods, constructors.
    • Access control.
    • Self-reference.
    • Static fields and methods.
    • Functions.
    • Methods and friend classes.
    • Dynamic creation of object arrays.
    • Methodological aspects: class design.
    • Copy and move constructors (C++11).
    • Constructor delegation (C++11).
    • Introduction to memory management issues (stack, heap, garbage collector).
    • Practical work Programming the case study.
    • The design and the construction of a hierarchy of classes and interfaces.
    • Principle of derivation.
    • Syntactic aspects: the definition of derived classes, constructors.
    • Access control.
    • Implementing polymorphism: virtual functions.
    • Code reuse: abstract classes.
    • Interfaces.
    • Multiple derivation.
    • Semantic and methodological aspects: code factorization.
    • Practical work The implementation of polymorphism in the case study.
    • Syntactic aspects: try blocks, generation of exceptions.
    • Methodological aspects: construction of an exception hierarchy, use of exceptions.
    • Practical work The introduction of exceptions in the case study.
    • Principle of overloading.
    • Overloading of binary operators.
    • Special overloading: the index, function, conversion operator.
    • Overloading memory management operators.
    • Overloading the '<<' and '>>' operators.
    • Practical work The overloading of some simple operators.
    • Class model.
    • General principles and mechanisms.
    • Template overloading and method redefinition.
    • Function model.
    • General principles and mechanisms.
    • Model overloading.
    • Models and operator overloading.
    • Models and derivation mechanisms.
    • The improvements proposed by C++ 11.
    • Practical work Exercises on models.
    • I/O.
    • The principle of streams and the hierarchy of input/output classes.
    • Description of some input classes /outputs.
    • Overview of the STL.
    • Objectives and principles.
    • Descriptions of some models and classes.
    • Containers, iterators, interval-based loop (C++11).
    • Software life cycle: testing, integration, production method.
    • Interaction with other environments.
    • Critical analysis of C++.
    • Evolution of C++.
  • 1314
  • 35 h

Submit your review

Translated By Google Translate