C++ Training: Mastering Advanced Object Programming


Course Delivery

Live Instructor-Led Training

Course Description

The course Mastering Advanced Object Programming (C++ Training) begins with a brief overview of C++ object oriented programming. The training includes pure virtual functions, abstract classes, multiple inheritance & polymorphism. Concepts such as templates, design patterns and the use of smart pointers are discussed in practice. This is C++ programming from the ground up.

Course Dates and Pricing


Mar 12 - 16, 2018$3,000.00Apr 24 - 27, 2018$3,350.00May 22 - 25, 2018$3,350.00Jun 19 - 22, 2018$3,350.00

Course Outline

Essential Preparatory Topics

Memory Architecture: The Heap and the Stack
Variables: Declaration and Instantiation
Variables: the Assignment Operator
Casting and Conversion: Old Style C versus Specific Casting Operators
Variables: Using Objects and Constructors
Declaring Constants
Using Const Effectively (what About #define)

The World of Pointers and Memory Management

The Architecture of Pointers
Declaring Pointers On the Heap and On the Stack
The New and Delete Operators
Using Const with Pointers
Using Null and Pointers
Operators and Pointers

Functions

Using Iostream Functions
The Signature of a Function
Defining the Scope of a Function
Using Friend Functions
Passing Parameters By Reference Or By Pointer
Passing Parameters By Value
Returning Values From a Function Call
Inline Functions

Object Oriented Concepts and Classes

What Is An Object Oriented Programming?
Defining the Scope of a Member: Private, Public and Protected
The Special Case of the Constructor
Defining Constructors
Defining Destructors
Pointers and Classes
Using Static Members and Functions
Reference Counting
Building a Simple Class
Defining Effective and Reusable
Object Oriented Design: A General Approach Using Uml
The Object in C++: the Class
Defining Member Variables
Encapsulation: The Need for Private Member Variables
Creating Properties: Defining Inspector Functions
Creating a Simple Object
Creating Methods

Constructors, Destructors and Basic Operators

Defining Constructors
Defining Conversion Operators
Conflicting Conversion Issues
Building a More Complicated Class Using Forwarding and Reference Counting
Using Member Initialization Lists
The Default Constructor
The Copy Constructor
The Canonical Form
The Destructor
Overloading the Assignment Operator
Overloading Basic Arithmetic Operators (operator+, Operator-, Etc…)
Overloading the Postfix and Prefix Operators

Working with Multiple Objects and Multiple Files

Object Oriented Design
Defining Abstract Base Classes
Inheritance and Polymorphism
Defining the Inheritance List
Public, Private and Protected Inheritance
Friendship and Inheritance
Defining Polymorphism
Using Virtual Functions
Working with Base Class Pointers
Building a Multiple Class Example

Using Templates

What Is a Template
Template Performance Issues
Building a Function Template
Data Structures: Arrays, Lists, and Maps
Class Templates
Building a Linked List From Scratch
About STL and Other Template Libraries

Design Patterns

Design Patterns Overview
About Creational Design Patterns
About Behavioural Design Patterns
About Structural Design Patterns

Advanced Topics

Preventing Object Creation On the Stack and On the Heap
Exception Handling and Exception Specifications
Using and Creating Smart Pointers
Design Patterns and Their Use
Defining Custom Memory Allocation Operators

Course Locations

  • Ottawa

  • Montreal

  • Toronto

Related C++ Training

C++ Training: Acquainting yourself with Objects

The course Acquainting yourself with Objects (C++ Training) covers everything you need to get started with object oriented programming using C++. The training includes basic C++ syntax & data types, memory management together with a complete exploration of class programming with C++. The course covers static data, virtual functions, inheritance & polymorphism, pure virtual functions & more. Come master the fundamentals of object oriented programming with C++. Training course titled C++ Training: Acquainting yourself with Objects that will allow you to hone your professional skills.

Mar 5 - 9, 2018$3,000.00Apr 17 - 20, 2018$3,350.00May 15 - 18, 2018$3,350.00Jun 12 - 15, 2018$3,350.00

C++ Training: Advanced C++: C++17 & More

The course Advanced C++, C++17 & More (C++ Training) pushes the boundaries of C++ development under the C++17 and C++11 standards. The training includes the use of modern C++ including data structures, memory management, multithreaded programming, locales, templates & more. The entire course is dedicated to advanced programming techniques that allow you to create powerful and flexible C++ code. The course optionally includes Boost, STL, or ATL. Training course titled C++ Training: Advanced C++: C++17 & More that will allow you to hone your professional skills.

Mar 20 - 23, 2018$3,000.00May 1 - 4, 2018$3,900.00May 29 - Jun 1, 2018$3,900.00Jun 26 - 29, 2018$3,900.00

C++ Training: Exploring Refactoring & Design Patterns

The course Exploring Refactoring & Design Patterns (C++ Training) demystifies design patterns with C++. The training includes the design patterns originally defined by the Gang of Four (GOF) and the fundamentals of C++ object orientated programming, Refactoring & UML. The course covers creational, behavioral & structural design patterns in C++ and provides many practical exercises that demonstrate applicability. Training course titled C++ Training: Exploring Refactoring & Design Patterns that will allow you to hone your professional skills.

Feb 26 - Mar 2, 2018$3,000.00Mar 26 - 29, 2018$3,000.00Apr 10 - 13, 2018$3,900.00May 8 - 11, 2018$3,900.00Jun 5 - 8, 2018$3,900.00

C++ Training: Mastering the Qt Library

The course Mastering the Qt Library (C++ Training) explore the power and flexibility of the Qt library. Starting with a solid introduction to the Qt library, you learn to build user interfaces with the Qt library. The training includes the use of core classes, dialogs, windows, widgets, MVC as well as painting and styling. The Qt Graphics View is covered at the end if time permits. Training course titled C++ Training: Mastering the Qt Library that will allow you to hone your professional skills.

Mar 7 - 9, 2018$2,775.00Apr 11 - 13, 2018$2,775.00May 9 - 11, 2018$2,775.00Jun 6 - 8, 2018$2,775.00

C++ Training: Objective-C Programming

The course Objective-C Programming (C++ Training) teaches you about Objective-C programming for Apple IOS devices. The training includes programming basics such as environment setup, variables, data types, control structures, functions & structure. The course also covers object oriented programming with Objective-C including classes, inheritance, polymorphism, interfaces & abstract classes to name a few. Our Objective-C training experience concludes with an exploration of controls and the MVC design pattern including views, models & controllers. Training course titled C++ Training: Objective-C Programming that will allow you to hone your professional skills.

Mar 6 - 9, 2018$3,000.00Apr 24 - 27, 2018$3,350.00May 22 - 25, 2018$3,350.00Jun 19 - 22, 2018$3,350.00

C++ Training: The Complete C Programming Course

The course The Complete C Programming Course (C++ Training) covers C programming from A to Z. The training includes basic C data types & structures, functions, memory management, pointers & more. The course also discusses compiler options & directives as they apply to Windows & Linux. Training course titled C++ Training: The Complete C Programming Course that will allow you to hone your professional skills.

Mar 13 - 16, 2018$3,000.00Apr 24 - 27, 2018$3,350.00May 22 - 25, 2018$3,350.00Jun 19 - 22, 2018$3,350.00