Get in Touch

Course Outline

Module 1

  • Introduction and References
  • Core Fundamentals
  • Practical Workshop: Basics
  • Function Overloading
  • Identifying overloads and implementation techniques
  • Additional C++ Types (bool & reference)
  • Practical Workshop: Overloading
  • Object-Oriented Programming (OOP)
  • Quick Introduction to OOP
  • Classes
  • Structs
  • Access Modifiers
  • Constructors
  • Default and Deleted Functions
  • Initializer Syntax and Constructor Initialization Lists
  • Practical Workshop: Classes
  • Memory Management
  • Traditional Memory Interaction
  • Practical Workshop: Memory

Module 2

  • Inheritance
  • Construction
  • Polymorphism
  • Virtual Functions, Pure Virtual Functions, Abstract Classes, and Interfaces
  • Access Modifiers
  • Practical Workshop: Inheritance (Shapes)
  • Exceptions
  • Understanding Exceptions
  • Mechanics of Exception Handling
  • Determining What to Throw and Catch
  • Practical Workshop: Exceptions
  • Memory Exhaustion
  • Notification Mechanisms
  • Handling Strategies
  • Modern Memory Management
  • RAII (Resource Acquisition Is Initialization)
  • Applying Templates to Modern Memory Management (Smart Pointers)
  • C++11 Standardized Smart Pointers
  • nullptr
  • Practical Workshop: Smart Pointers
  • Namespaces
  • Practical Workshop: Namespaces

Module 3

  • Auto
  • The New Auto Keyword
  • The New Auto Return Syntax
  • Enumerations (enum)
  • Strongly Typed Enums
  • constexpr
  • Compile-Time Constants
  • Understanding Constness
  • Explaining const and mutable
  • Lambdas and Function Objects
  • Classes Acting as Functions
  • Introduction to Lambda Functions
  • Chrono
  • Introduction to the New Chrono Library

Module 4

  • Casting
  • Standard Library
  • String
  • Containers
  • Vector (vs)
  • List
  • Map
  • Array
  • Tuple
  • Initializer Lists
  • Iterators
  • Range-based For Loop Syntax
  • Std Algorithms
  • Streams
  • Miscellaneous Keywords
  • static
  • explicit

Module 5

  • Move Semantics
  • Introduction to Lvalues and Rvalues
  • Applying R-value References to Move Semantics
  • Type Traits
  • Obtaining Information at Compile Time
  • Concurrency
  • Introduction to C++11’s Threading, async/future, and Atomic Types Implementation
  • Variadic Templates - An Introduction to C++11’s Variadic Templates

Requirements

A minimum of 1 year of C++ experience is required.

 35 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories