Get in Touch

Course Outline

Module 1

  • Introduction + References
  • Fundamentals
  • Workshop: Fundamentals
  • Function Overloading
  • Overloadable Elements and Techniques
  • Additional C++ Types (bool & reference)
  • Workshop: Overloading
  • OOP Concepts
  • Quick OOP Overview
  • Classes
  • Structs
  • Access Modifiers
  • Constructors
  • default / delete Functions
  • Initializer Syntax / Constructor Initialization Lists
  • Workshop: Classes
  • Memory Management
  • Traditional Memory Interaction
  • Workshop: Memory

Module 2

  • Inheritance
  • Construction in Inheritance
  • Polymorphism
  • Virtual, Pure Virtual, Abstract, and Interface Classes
  • Access Modifiers
  • Workshop: Inheritance (Shapes)
  • Exceptions
  • Understanding Exceptions
  • Mechanism of Exceptions
  • What to Throw and Catch
  • Workshop: Exceptions
  • Memory Exhaustion
  • Notification Mechanisms
  • Handling Strategies
  • Modern Memory Management
  • RAII Principles
  • Templates for Modern Memory Management (SmartPointers)
  • C++11 Standard SmartPointers
  • nullptr
  • Workshop: SmartPointers
  • Namespaces
  • Workshop: Namespaces

Module 3

  • The auto Keyword
  • New Usage of the auto Keyword
  • New auto Return Syntax
  • Enums
  • Scoped Enums
  • constexpr
  • Constant Expressions
  • Understanding Constness
  • const and mutable Explained
  • Lambdas and Function Objects
  • Class-Like Functions
  • Introduction to Lambda Functions
  • Chrono Library
  • Introduction to the Modern Chrono Library

Module 4

  • Dynamic Casting
  • Standard Library
  • std::string
  • Containers
  • std::vector (vs std::list)
  • std::list
  • std::map
  • std::array
  • std::tuple
  • Initializer Lists
  • Iterators
  • Range-Based For Syntax
  • std::Algorithms
  • Streams
  • Miscellaneous Keywords
  • static
  • explicit

Module 5

  • Move Semantics
  • Introduction to L-Values and R-Values
  • R-Value References in Move Semantics
  • Type Traits
  • Compile-Time Information Retrieval
  • Concurrency
  • Introduction to C++11 Threading, async/future, and Atomic Types
  • Variadic Templates - Introduction to C++11 Variadic Templates

Requirements

Minimum of 1 year experience in C++

 35 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories