Course Code: 5475

C++ Programming

Class Dates:
5 Days
Class Time:
Instructor-Led Training, Virtual Instructor-Led Training


  • Course Overview
  • 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.


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

Course Details

  • 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++
  • 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
  • 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 and string Data Type
  • Fundamentals of Classes
  • •Data types and 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
  • •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
  • 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
  • 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
  • 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
  • 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
  • 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