Get in Touch

Course Outline

Module 1

  • Introduction and References
  • Core Fundamentals
  • Practical Workshop: Basics
  • Function Overloading
  • Understanding Overloadable Elements and Techniques
  • Additional C++ Types (bool & reference)
  • Practical Workshop: Overloading
  • Object-Oriented Programming (OOP)
  • Rapid Introduction to OOP Concepts
  • Classes
  • Structs
  • Access Modifiers
  • Constructors
  • Default and Deleted Functions
  • Initializer Syntax and Constructor Initialization Lists
  • Practical Workshop: Classes
  • Memory Management
  • Traditional Memory Interaction Models
  • Practical Workshop: Memory

Module 2

  • Inheritance
  • Construction Processes
  • Polymorphism
  • Virtual, Pure Virtual, Abstract Classes, and Interfaces
  • Access Modifiers
  • Practical Workshop: Inheritance (Shapes)
  • Exceptions
  • Understanding Exception Mechanics
  • Operational Logic
  • Guidelines for Throwing and Catching Exceptions
  • Practical Workshop: Exception Handling
  • Memory Exhaustion
  • Notification Mechanisms
  • Handling Strategies
  • Modern Memory Management Techniques
  • RAII (Resource Acquisition Is Initialization)
  • Applying Templates to Modern Memory Management (SmartPointers)
  • C++11 Standardized SmartPointers
  • nullptr
  • Practical Workshop: SmartPointers
  • Namespaces
  • Practical Workshop: Namespaces

Module 3

  • Auto Type Deduction
  • The Modern Auto Keyword
  • Modern Auto Return Syntax
  • Enumerations (enum)
  • Strongly Typed Enums
  • Constant Expressions (constexpr)
  • Advanced Constant Expressions
  • Understanding Constness
  • Const and Mutable Qualifiers Explained
  • Lambdas and Function Objects
  • Class-Based Function Alternatives
  • Introduction to Lambda Functions
  • Chrono Library
  • Overview of the New Chrono Library

Module 4

  • Type Casting
  • Standard Library Overview
  • String Manipulation
  • Container Types
  • Vector (std::vector)
  • List (std::list)
  • Map (std::map)
  • Array (std::array)
  • Tuple (std::tuple)
  • Initializer Lists
  • Iterators
  • Range-Based For Loop Syntax
  • Standard Algorithms
  • Input/Output Streams
  • Essential Keywords
  • Static
  • Explicit

Module 5

  • Move Semantics
  • Introduction to L-values and R-values
  • Applying R-value References to Move Semantics
  • Type Traits
  • Compile-Time Information Retrieval
  • Concurrency
  • Introduction to C++11 Threading, async/future, and Atomic Types
  • Variadic Templates: An Introduction to C++11 Variadic Templates

Requirements

Requires a minimum of one year of experience with C++

 35 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories