Introduction to C++ Programming Training

Course 327

  • Duration: 4 days
  • Labs: Yes
  • Language: English
  • Level: Foundation

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.

Train your whole team by bringing this course to your facility.

  • Team training is available online and in-person.

Introduction to C++ Programming Training Course Information

In this training, your will:

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

Prerequisites

  • 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

C++ Programming Course Outline

  • Relating C, C++, Java, and C#
  • The in-class development environment
  • Other development environments

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 initialising variables
  • Utilising C++ 11/14 new keywords
  • Integer and floating-point data types
  • Performing calculations and displaying results
  • Utilising 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

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
  • Utilising STL templates to define families of classes

Separating interfaces and implementations

  • How separation supports code reuse
  • Building header files and code files

Deriving new classes from existing classes

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

Utilising 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
  • Utilising lambdas and smart pointers

Standards and Portability

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

Need Help Finding The Right Training Solution?

Our training advisors are here for you.

Course FAQs

Learning Tree provides Private Team Training that can save time and travel costs by training your entire team at once, at a convenient location of your choice. We handle all the details including instructor travel, tailored content, comprehensive course materials, shipping and equipment setup and teardown.