Get in Touch

Course Outline

Module 1

  • Introduction + References
  • Fundamentals
  • Workshop: Fundamentals
  • Function Overloading
  • What can be overloaded and the methodology behind it
  • Additional C++ Types (bool & reference)
  • Workshop: Overloading
  • OOP
  • Quick overview of OOP
  • Classes
  • Structs
  • Access Modifiers
  • Constructors
  • default/delete functions
  • Initializer syntax and constructor initialization lists
  • Workshop: Classes
  • Memory Management
  • Traditional memory interaction
  • Workshop: Memory

Module 2

  • Inheritance
  • Construction
  • Polymorphism
  • Virtual, pure virtual, abstract, and interface concepts
  • Access modifiers
  • Workshop: Inheritance (Shapes)
  • Exceptions
  • Understanding what they are
  • How they operate
  • What to throw and what to catch
  • Workshop: Exceptions
  • Memory Exhaustion
  • How it is notified
  • Strategies for handling it
  • Modern Memory Management
  • RAII
  • Applying Templates to Modern Memory Management (SmartPointers)
  • C++11 Standardized SmartPointers
  • nullptr
  • Workshop: SmartPointers
  • Namespaces
  • Workshop: Namespaces

Module 3

  • auto
  • The new auto keyword
  • The new auto return syntax
  • enum
  • Strongly typed enums
  • constexpr
  • New constant expressions
  • Understanding constness
  • Explanation of const and mutable
  • Lambdas and function objects
  • Classes that behave like functions
  • Introduction to lambda functions
  • Chrono
  • An introduction to the new Chrono library

Module 4

  • Casting
  • Standard library
  • String
  • Containers
  • Vector (std::vector)
  • 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
  • Application of R-value references to move semantics
  • Type Traits
  • Gathering information at compile time
  • Concurrency
  • Overview of C++11's Threading, async/future, and atomic type implementations
  • Variadic templates - An introduction to C++11's variadic templates

Requirements

A minimum of 1 year of experience with C++
 

 35 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories