C++ Programming

Live Online (VILT) & Classroom Corporate Training Course

This C++ Programming training course presents the syntax and constructs of the ISO Standard C++11 programming language.
C++ Programming Logo

How can we help you?

  • CloudLabs
    CloudLabs
  • Projects
    Projects
  • Assignments
    Assignments
  • 24x7 Support
    24x7 Support
  • Lifetime Access
    Lifetime Access
Box

Overview

This course will take you from a basic knowledge of C++ to using more advanced features of the language. This course is for you if you want to deepen your basic knowledge of C++, you want to learn C++ 11 features, or you’ve taken basic C++ course and you’re looking for the next step.

Box

Objectives

At the end of C++ Programming training course, participants will be able to

  • Review object-oriented programming as needed
  • Perform basic I/O operations with C++ code
  • Define and use classes
  • Understand arrays, pointers, and references (and memory in C++ more generally)
  • Master defining and using functions, including advanced features such as lambdas
  • Properly leverage inheritance in your code
  • Accelerate your development with the Standard Template Library
Box

Prerequisites

All participants should have coding experience with the standard C language or any other object-oriented language.

Box

Course Outline

  • Evolution of programming types
  • Encapsulation
  • Polymorphism
  • Inheritance
  • Modularity and abstraction

  • Istream class
  • Ostream class
  • Cout and cin I/O object (functions)
  • I/O manipulators
  • I/O inserters and extractors

  • The Global Name Space (GNS)
  • The std namespace
  • Creating namespaces
  • Scoping identifiers in namespaces
  • Namespace issues
    • collisions
    • pollutions
  • Namespace aliases
  • Inlined namespaces

  • Configure and ConfigureServices
  • Configuration Providers and Sources
  • Configuration API
  • Options Pattern
  • HTTPS and HTTP/2

  • Basic class definition
  • Private and public members
  • Instantiation of (class) objects
    • static
    • dynamic
  • Constructors and destructors
    • default keyword
    • delete keyword
    • delegating (overloaded types)
    • arguments to constructors
  • Template classes
    • template aliases
    • forward referencing
    • perfect forwarding
    • variadic templates
    • using RTTI to determine object types

  • Persistence Ignorance
  • Object-Relational Mapping
  • Entity Framework (EF) Core
  • Dapper ORM

  • Object pointers
  • The this pointer
  • Arrays of objects
  • Smart pointers
    • unique_ptr
    • shared_ptr
    • weak_ptr
  • References
    • move semantics
    • move reference (operations)
    • move constructor
  • Exception Handling

  • Class member functions
  • Overloading function capabilities
  • Passing objects to functions
    • by value (copy)
    • by reference
  • Overloading constructor functions
  • Template functions
  • Default arguments
  • Operator overload(ing functions)
  • Lambdas (anonymous functions)
    • closures
    • captures
    • trailing return type
  • Const_cast
  • Static_cast
  • Brace initialization

  • Base and derived classes
  • Access control
  • Constructors and destructors
  • Multiple inheritance
  • Virtual base classes
  • Virtual functions
  • Using override
  • Using final

  • History of the library
  • Containers, algorithms, references, and iterators
  • Using the vector, array, map, and string templates
  • Begin( ) and end( ) methods
  • Tuple container
  • Regular expressions
  • Thread operations
  • Random number operations
  • Clock and timing capabilities

  • Type aliases
  • Decltype
  • Type traits
  • Static assert
  • Enumerated (scoped) class
  • User-defined literals
Box

Testimonials