Introduction to C++ 20 Programming Essentials

Introduction to C++ Programming / C++ Essentials is a skills-focused, hands-on C++ training course geared for experienced programmers who need to learn C++ coupled with sounds coding skills and best practices for OO development. Students will leave this course armed with the required skills to put foundation-level C++ programming skills right to work in a practical environment.

Retail Price: $2,595.00

Next Date: 01/27/2025

Course Days: 5


Enroll in Next Date

Request Custom Course


At Course Completion

This “skills-centric” course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current "on-the-job" experience into every classroom.

Working in a hands-on learning environment, guided by our expert team, attendees will learn:

· Defining a class in C++

· Using private, public and protected keywords to control access to class members

· Writing constructors and destructors

· Writing classes with const and static class members

· Overloading operators

· Implementing polymorphic methods in programs

· Writing programs using file I/O and string streams

· Using manipulators and stream flags to format output

· Using the keyword template to write generic functions and classes

· Writing programs that use generic classes and functions

· Writing programs that use algorithms and containers of the Standard Library

· Apply object-oriented design techniques to real-world programming problems

· Using algorithms and containers of the Standard Library to manipulate string data

· Using try() blocks to trap exceptions

· Using catch() blocks to handle exceptions

· Defining exceptions and using throw to trigger them

 

Audience Profile

This is an introductory-level C++ programming course designed for developers with experience programming in C or other languages.

 

Prerequisites

Practical hands-on prior programming experience and knowledge is required.


Outline

1. Getting Started

· Overview

· Using the development environment

· C++ file organization and tools

 

2. Handling Data

· Primitive Types

· Initialization and Assignment

· Const

· Pointers

· Constant Pointers

· References

· Constant Reference Arguments

· Scope

 

3. Functions

· Function Prototypes and Type Checking

· Function Overloading

· Name Resolution

· Call by Value

· Call-by-Reference and Reference Types

· References in Function Return

· Constant Argument Types

· Providing Default Arguments

· Inline Functions

 

4. Declaring and Defining Classes

· Components of a Class

· Class Structure

· Class Declaration Syntax

· Member Data

· Built-in Operations

· Constructors and Initialization

· Initialization vs. Assignment

· Class Type Members

· Member Functions and Member Accessibility

· Inline Member Functions

· Friend Functions

· Static Members

· Modifying Access with a Friend Class

 

5. Creating and Using Objects

· Creating Automatic Objects

· Creating Dynamic Objects

· Calling Object Methods

· Constructors

· Initializing Member consts

· Initializer List Syntax

· Allocating Resources in Constructor

· Destructors

· Scope Resolution Operator ::

· Using Objects as Arguments

· Objects as Function Return Values

· Constant Methods

· Containment Relationships

 

6. Controlling Object Creation

· Object Copying and Copy Constructor

· Automatic Copy Constructor

7. Dynamic Memory Management

· Static, Automatic, and Heap Memory

· Free Store Allocation with new and delete

· Handling Memory Allocation Errors

8. Strings in C++

· Character Strings

· The String Class

· Operators on Strings

· Member Functions of the String Class

9. Operator Overloading

· Member Operator Syntax and Examples

· Class Assignment Operators

· Class Equality Operators

· Non-Member Operator Overloading

· Member and Non-Member Operator Functions

· Operator Precedence

· This Pointer

· Overloading the Assignment Operator

· Conversion Operators

· Constructor Conversion Operator

· Explicit vs Implicit conversion

10. Streaming I/O

· Streams and the iostream Library

· Built-in Stream Objects

· Stream Manipulators

· Stream Methods

· Input/Output Operators

· Character Input

· String Streams

· Formatted I/O

· File Stream I/O

· Overloading Stream Operators

· Persistent Objects

11. Templates

· Purpose of Template Classes

· Constants in Templates

· Templates and Inheritance

· Container Classes

· Use of Libraries

12. Inheritance

· Inheritance and Reuse

· Composition vs. Inheritance

· Syntax for Public Inheritance

· Use of Common Pointers

· Constructors and Initialization

· Inherited Copy Constructors

· Destructors and Inheritance

17. Polymorphism in C++

· Definition of Polymorphism

· Calling Overridden Methods

· Upcasting

· Accessing Overridden Methods

· Virtual Methods and Dynamic Binding

· Virtual Destructors

· Abstract Base Classes and Pure Virtual Methods

13. Exceptions

· Types of Exceptions

· Trapping and Handling Exceptions

· Triggering Exceptions

· Handling Memory Allocation Errors

19. The Standard Library

· Survey of the library

· Containers

· Algorithms

· Numerics

· Date & Time

Course Dates Course Times (EST) Delivery Mode GTR
1/27/2025 - 1/30/2025 10:00 AM - 6:00 PM Virtual Enroll
3/24/2025 - 3/27/2025 10:00 AM - 6:00 PM Virtual Enroll
5/19/2025 - 5/22/2025 10:00 AM - 6:00 PM Virtual Enroll
7/21/2025 - 7/24/2025 10:00 AM - 6:00 PM Virtual Enroll
9/22/2025 - 9/25/2025 10:00 AM - 6:00 PM Virtual Enroll
11/17/2025 - 11/20/2025 10:00 AM - 6:00 PM Virtual Enroll