Get in Touch

Course Outline

Module 1

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

Module 2

  • Inheritance
  • Construction in Inheritance
  • Polymorphism
  • Virtual, Pure Virtual, Abstract Classes, and Interfaces
  • Access Modifiers in Inheritance
  • Inheritance Workshop (Shapes)
  • Exception Handling
  • Understanding Exceptions
  • Mechanics of Exception Handling
  • Best Practices for Throwing and Catching
  • Exceptions Workshop
  • Memory Exhaustion
  • Notification Mechanisms for Exhaustion
  • Handling Strategies
  • Modern Memory Management Paradigms
  • RAII (Resource Acquisition Is Initialization)
  • Applying Templates to Modern Memory Management (SmartPointers)
  • C++11 Standardized SmartPointers
  • nullptr
  • SmartPointers Workshop
  • Namespaces
  • Namespaces Workshop

Module 3

  • The auto Keyword
  • Decltype(auto) and Type Deduction
  • Trailing Return Type Syntax with auto
  • Enumerations (enum)
  • Strongly Typed Enumerations (enum class)
  • constexpr
  • Compile-Time Constant Expressions
  • Understanding Constness
  • Explanation of const and mutable
  • Lambdas and Function Objects
  • Classes Mimicking Functions
  • Introduction to Lambda Functions
  • Chrono Library
  • Overview of the Modern Chrono Library

Module 4

  • Type Casting
  • Standard Library Overview
  • std::string
  • Containers
  • std::vector
  • std::list
  • std::map
  • std::array
  • std::tuple
  • Initializer Lists
  • Iterators
  • Range-based for Loop Syntax
  • Standard Algorithms
  • Streams
  • Key C++ Keywords
  • static
  • explicit

Module 5

  • Move Semantics
  • Introduction to L-values and R-values
  • R-value References Applied to Move Semantics
  • Type Traits
  • Compile-Time Introspection
  • Concurrency
  • Introduction to C++11 Threading, async/future, and atomic types
  • Variadic Templates - An Introduction to C++11’s Variadic Templates

Requirements

Minimum of 1 year of C++ experience
 

 35 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories