Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley

locations map


550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2


821A Bloor Street West
Toronto, ON
M6G 1M1


409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA

Other Locations

Dallas, TX
Miami, FL

Home > Training > C / C++ > C++ Programming Training

C++ Programming Training

Course#: WA1078

C++ is the object oriented superset of ANSI C. This course provides students with a comprehensive study of the C++ Programming Language. The course stresses the object paradigm including classes, inheritance, virtual functions, and templates in the development of C++ programs. Lab exercises reinforce the lectures.


At the end of this course, students will be able to:

  • Compare the object vs the procedural approach to writing software
  • Use correct object oriented terminology
  • Define and use classes in a C++ Program
  • Select the proper class protection mechanism
  • Create and use abstract data types
  • Derive classes using inheritance in C++
  • Implement operator overloading
  • Implement polymorphism by using virtual functions in a program
  • Write programs utilizing the C++ i/o classes


Anybody who has the need to write programs in the C++ language including programmers, engineers, scientists, or other technical support personnel.


Students should have completed the Introduction to C Course or have equivalent knowledge.


Five days.

Outline of WA1078 C++ Programming Training

  1. Perspective  

  • The software crisis
  • Building software has been difficult
  • Design techniques
  • Large Software Systems
  • Roots of Object Orientation
  • What is OO programming?
  • C++ and OO programming
  • Why C++?
  • Features of C++
  • Pros and Cons of C++

  2. The Language of Object Orientation

  • What is an object?
  • What is a class?
  • Encapsulation
  • Data hiding
  • The public Interface
  • Relationships among Classes
  • Inheritance
  • Polymorphism
  • Object-Oriented Design

  3. C vs C++  

  • Comments
  • Namespaces
  • Performing Simple Output
  • Performing Simple Input
  • Definitions near to first Use
  • Function prototypes
  • The inline specifier
  • const
  • Structure Members
  • The reference type
  • Overloading function names
  • Default parameters
  • Scope resolution operator
  • Aggregates
  • Operators new and delete
  • The bool Data Type
  • The string Data Type

  4. Fundamentals of Classes

  • Data types
  • Abstract data types
  • Using the class concept
  • How to define a class
  • public and private access levels
  • Using class objects like a built in type
  • scope
  • scope resolution operator
  • Constructors
  • Member Initialization Lists
  • Destructors
  • Array of Objects
  • Pointers
  • The this pointer
  • Passing Objects to Functions
  • Returning Objects from Functions
  • Static class members

  5. Operator Overloading  

  • Introduction
  • Rules for Operator Overloading
  • Rationale for Operator Overloading
  • Overloading Member Functions
  • Overloading Non-Member Functions
  • friend functions
  • The Copy Constructor
  • Overloading the Assignment Operator
  • Overloading [ ]
  • Overloading increment and decrement operators
  • const Objects & const references

  6. Composition of Classes

  • Relationships
  • Composition of Classes
  • The Point class
  • The Line class
  • Member Initialization Lists
  • An Application w/ composition
  • The Copy Constructor under Composition
  • Operator= under Composition

  7. Inheritance  

  • Introduction
  • Inheritance public base classes
  • Inheritance w/ public base classes
  • Member Initialization Lists
  • What isn't inherited
  • Assignments between base and derived Objects
  • Compile Time Binding vs. Run Time Binding
  • virtual functions
  • Polymorphism
  • virtual destructors
  • Pure virtual functions
  • Abstract base classes
  • An extended inheritance example

  8. I/O in C++

  • The iostream library
  • Pre-defined streams
  • operator<<
  • Overloading << for User-Defined Classes
  • Overloading >> for User-Defined Classes
  • Manipulators
  • Stream states
  • Formatted i/o
  • Disk files
  • Internal transmission of data
  • Reading & Writing Objects

  9. Advanced Topics  

  • Template Functions
  • Template Classes
  • Multiple Inheritance
  • User-Defined Conversions
  • Data Structures
  • Iterators
  • Exceptions

  Appendix A Review of C

  • Data Types
  • Operators
  • Decisions
  • Loops
  • switch
  • Arrays
  • Pointers
  • Pointers vs. Arrays
  • Structures
  • enum
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:


*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course

Register for a courseware sample

It's simple, and free.


Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.