C++ Programming Training

Course #:WA1078

C++ Programming Training

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.

Objectives

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

Audience

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

Prerequisites

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

Duration

Five days.

Outline of 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.