Course Outline
Module 1
- Introduction and References
- Fundamentals
- Workshop: Basics
- Function Overloading
- Understanding Overloading: What and How
- Additional C++ Types (bool & reference)
- Workshop: Overloading
- Object-Oriented Programming (OOP)
- Quick OOP Introduction
- Classes
- Structs
- Access Modifiers
- Constructors
- Default and Delete Functions
- Initializer Syntax and Constructor Initialization Lists
- Workshop: Classes
- Memory Management
- Classical Memory Interaction
- Workshop: Memory
Module 2
- Inheritance
- Construction in Inheritance
- Polymorphism
- Virtual, Pure Virtual, Abstract Classes, and Interfaces
- Access Modifiers
- Workshop: Inheritance (Shapes)
- Exceptions
- Understanding Exceptions
- How Exceptions Function
- Determining What to Throw and Catch
- Workshop: Exceptions
- Memory Exhaustion
- Notification Mechanisms
- Handling Strategies
- Modern Memory Management
- RAII (Resource Acquisition Is Initialization)
- Applying Templates to Modern Memory Management (SmartPointers)
- Standardized C++11 SmartPointers
- nullptr
- Workshop: SmartPointers
- Namespaces
- Workshop: Namespaces
Module 3
- auto
- The New auto Keyword
- The New auto Return Syntax
- enum
- Modern Enum Styles
- constexpr
- New Constant Expressions
- Understanding Constness
- Explaining const and mutable
- Lambdas and Function Objects
- Classes that Behave Like Functions
- Introduction to Lambda Functions
- Chrono Library
- Overview of the New Chrono Library
Module 4
- Casting
- Standard Library
- String
- Containers
- Vector (vs)
- List
- Map
- Array
- Tuple
- Initializer Lists
- Iterators
- Range-based for Syntax
- Standard Algorithms
- Streams
- Miscellaneous Keywords
- static
- explicit
Module 5
- Move Semantics
- Introduction to L-values and R-values
- R-value References Applied to Move Semantics
- Type Traits
- Gathering Compile-Time Information
- Concurrency
- Introduction to C++11 Threading, async/future, and Atomic Types Implementation
- Variadic Templates: An Introduction to C++11 Variadic Templates
Requirements
At least one year of experience with C++ is required.
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 6500 € + VAT*
Contact us for an exact quote and to hear our latest promotions
Testimonials (3)
how we can use reserved words and best practices to be used when using Objet Oriented Programming. how we can rely on cpp reference to get knowledge of desired topics
Alejandro - we need to hace this group for mexico people only from Turf and compact utility
Course - Advanced C++ Software Design
The trainer always solves my doubts.
David C Pascual C - we need to hace this group for mexico people only from Turf and compact utility
Course - Advanced C++ Software Design
I liked being submerged into the C++ language for 5 days - not interrupted by regular work - in a row a lot ... Personally not as experienced in C++ as my colleagues, I decided to join this course to take a deep dive. The dive triggered me hugely to learn more ... which is exactly what I wanted to achieve. I appreciated the expertise knowledge of the trainer - and that of my colleagues. The fact that topics were very quickly touched and not addressed in detail, is what I expect from an advanced course. Sometimes too quick for me to follow (but that's a known and accepted drawback from my joining this course :-)) ... but on the other hand provided me with a fairly complete overview of the subtleties of the language. Thanks a lot for presenting a course in this way! Most appreciated!!!