Preferred method of contact:

C++ Programming Introduction



Course Number



4 Days
Request Team Training

PDF Add to WishList

For those with a background in a procedural programming language, this course provides a foundation in C++ syntax and usage, as well as object-oriented programming. With this training, you learn how to use C++ functions and variables, leverage advanced features — including constructors, destructors, inheritance, and polymorphism — and gain an understanding of how C++ offers greater ability than C.

You Will Learn How To

  • Create, compile, and run C++ programs
  • Perform traditional programming operations
  • Write classes to produce maintainable projects
  • Manage dynamic data reliably and efficiently

Important Course Information

  • Requirements

    • At least one year of programming experience using a compiled, procedural language such as Pascal, FORTRAN, COBOL, PL/1, or Ada
    • Prior experience with C, C++, or Java is not assumed
    • HTML or SQL experience alone is not adequate

Course Outline

  • Introduction and Overview
  • Relating C, C++, Java, and C#
  • The in-class development environment
  • Other development environments
  • C++ Programming Building Blocks

The main function and standard I/O

  • Displaying values and strings to cout
  • Reading values from cin
  • Formatting with stream manipulators

Objects, constants, and references

  • Declaring and initializing variables
  • Utilizing C++ 11/14 new keywords
  • Integer and floating-point data types
  • Performing calculations and displaying results
  • Utilizing references for efficiency and constants for safety

Defining and calling functions

  • Passing arguments to functions and returning values from functions
  • Call-by-value vs. call-by-reference vs. call-by-address
  • Scope, duration, and initial values variables

Decisions, loops, and logic

  • Making decisions with if/else
  • bool vs. int logical values
  • if/else statement "chains"
  • Performing loops with while and for
  • Implementing C++ range-based for loops
  • Equality, relational, and logical operators

Arrays, pointers, and strings

  • Declaring and using arrays and pointers
  • Storing strings in character arrays
  • Accessing array elements via pointers
  • Pointers vs. references
  • Standard string class and functions
  • Defining C++ Classes and Objects

Encapsulating higher-level data types

  • Public member functions and private data members
  • Protected class members
  • Constructors and destructors
  • Self-reference: the this pointer
  • The class member operator (::)

Declaring, accessing, and modifying objects

  • Manipulating arrays of objects, pointers to objects and references to objects
  • Invoking member functions
  • const member functions
  • Passing objects by value and by reference

Overloading and templates

  • Simplifying class interfaces
  • Function signatures
  • Overloading assignment (=) and insertion (\<\<)
  • friend functions and classes
  • Explicit copy/move construction
  • Avoiding default assignment and copy construction
  • Utilizing STL templates to define families of classes

Separating interfaces and implementations

  • How separation supports code reuse
  • Building header files and code files
  • Extending Classes via Inheritance

Deriving new classes from existing classes

  • Construction and destruction of derived objects
  • Reusability via incremental extensions
  • Base classes and derived classes

Utilizing polymorphic functions

  • Overriding virtual base-class member functions in derived classes
  • Runtime lookup of functions through base-class pointers and references

Managing dynamic data

  • Allocating and deallocating memory with new and delete
  • Handling errors with try and catch
  • Avoiding memory leaks
  • Utilizing lambdas and smart pointers

Standards and Portability

  • Applicability to Windows and UNIX/Linux
  • ANSI/ISO C++ 11/14 and evolving standards
Show complete outline
Show Less

Exclusive Private Team Training Course

Enhance your team's effectiveness and boost productivity with this course, delivered privately to your organization or to any preferred location, including options for hybrid or all-virtual delivery via AnyWare.

This training course could be customized, and combined with other courses, to meet the specific needs of your team's training.

Preferred method of contact:

Attendee Benefits

After-Course Instructor Coaching
When you return to work, you are entitled to schedule a free coaching session with your instructor for help and guidance as you apply your new skills.

After-Course Computing Sandbox
You'll be given remote access to a preconfigured virtual machine for you to redo your hands-on exercises, develop/test new code, and experiment with the same software used in your course.

Free Course Exam
You can take your Learning Tree course exam on the last day of your course or online any time after class.


I’d taken some C++ programming several years ago and I wanted a reintroduction to the language as well as some insight into some of the object-oriented features that I had never applied. The Learning Tree course gave me exactly what I was looking for.

- Tom Bolton, Sr. Programmer Analyst
Direct Energy

Chat Now

Please Choose a Language

Canada - English

Canada - Français