Skip Navigation Links

Course Length:
5 Days
Course Description:
This course provides students with a comprehensive study of the C++ programming language while teaching those parts of C relevant to C++. Classroom lectures are supplemented with many hands-on exercises, which stress the following C++ topics: data abstraction, class design, operator overloading, inheritance, polymorphism and I/O.
Who Should Attend:
This course is designed primarily for those Cobol, Pascal, and Fortran programmers who wish to learn C+ without having to partake in a prior C Language programming course.
Benefits of Attendance:
Upon completion of this course, students will be able to:
  • Use correct object oriented terminology.
  • Compare and choose between the object and the procedural approach to writing software.
  • Compare and select the appropriate I/O model from either C or C++.
  • Define and use classes in a C++ program.
  • Select the proper class protection mechanism.
  • Create and use abstract data types.
  • Implement operator overloading in user defined and off the shelf classes.
  • Derive classes using inheritance in C++.
  • Implement polymorphism by using virtual functions in a C++ program.
  • Utilize the modular features of the C and C++ language.
Prerequisites:
Experience with a programming language or an assembly language is required.
Course Outline:
  • Chapter 1: Introduction
    1. Background
    2. Environmental considerations
    3. A Sample C program
    4. Variables and data types
    5. Arrays
    6. Components of a C program
    7. C operators
    8. Control structures
    9. Functions
    10. Function prototypes
    11. Simple I/O
  • Chapter 2: More I/O In C
    1. The printf function
    2. The scanf function
    3. The preprocessor
    4. Conditional compilation
    5. Avoiding multiple inclusions for the same file
  • Chapter 3: Aggregates In C
    1. Data types revisited
    2. Aggregate types
    3. Arrays
    4. Structures
    5. Structures and functions
    6. Bit fields
    7. Enumeration types
  • Chapter 4: Pointers In C
    1. Fundamental Concepts
    2. Pointer operations
    3. Using pointers to alter a function argument
    4. Using pointers for array traversal
    5. Pointer arithmetic
    6. Sending an array to a function
    7. Pointers vs arrays
    8. Sending an aggregate to a function
    9. Summary of the uses of pointers
  • Chapter 5: Perspective
    1. The software crisis
    2. Building software has been difficult
    3. Design techniques
    4. Large Software Systems
    5. Roots of Object Orientation
    6. What is OO programming?
    7. C++ and OO programming
    8. Why C++?
    9. Features of C++
    10. Pros and Cons of C++
  • Chapter 6: The Language Of Object Orientation
    1. What is an object?
    2. What is a class?
    3. Encapsulation
    4. Data hiding
    5. The public Interface
    6. Relationships among Classes
    7. Inheritance
    8. Polymorphism
    9. Object-Oriented Design
  • Chapter 7: C vs C++
    1. Comments
    2. Namespaces
    3. Performing Simple Output
    4. Performing Simple Input
    5. Definitions near to first Use
    6. Function prototypes
    7. The inline specifier
    8. const
    9. Structure Members
    10. The reference type
    11. Overloading function names
    12. Default parameters
    13. Scope resolution operator
    14. Aggregates
    15. Operators new and delete
    16. The bool Data Type
    17. The string Data Type
  • Chapter 8: Fundamentals Of Classes
    1. Data types
    2. Abstract data types
    3. Using the class concept
    4. How to define a class
    5. public and private access levels
    6. Using class objects like a built in type
    7. scope
    8. scope resolution operator
    9. Constructors
    10. Member Initialization Lists
    11. Destructors
    12. Array of Objects
    13. Pointers
    14. The this pointer
    15. Passing Objects to Functions
    16. Returning Objects from Functions
    17. Static class members
  • Chapter 9: Operator Overloading
    1. Introduction
    2. Rules for Operator Overloading
    3. Rationale for Operator Overloading
    4. Overloading Member Functions
    5. Overloading Non-Member Functions
    6. friend functions
    7. The Copy Constructor
    8. Overloading the Assignment Operator
    9. Overloading [ ]
    10. Overloading increment and decrement operators
    11. const Objects & const references
  • Chapter 10: Composition Of Classes
    1. Relationships
    2. Composition of Classes
    3. The Point class
    4. The Line class
    5. Member Initialization Lists
    6. An Application w/ composition
    7. The Copy Constructor under Composition
    8. Operator= under Composition
  • Chapter 11: Inheritance
    1. Introduction
    2. Inheritance public base classes
    3. Inheritance w/ public base classes
    4. Member Initialization Lists
    5. What isn't inherited
    6. Assignments between base and derived Objects
    7. Compile Time Binding vs. Run Time Binding
    8. virtual functions
    9. Polymorphism
    10. virtual destructors
    11. Pure virtual functions
    12. Abstract base classes
    13. An extended inheritance example
  • Chapter 12: I/O In C++
    1. The iostream library
    2. Pre-defined streams
    3. operator<<
    4. Overloading << for User-Defined Classes
    5. Overloading >> for User-Defined Classes
    6. Manipulators
    7. Stream states
    8. Formatted i/o
    9. Disk files
    10. Internal transmission of data
    11. Reading & Writing Objects
  • Chapter 13: Advanced Topics
    1. Template Functions
    2. Template Classes
    3. Multiple Inheritance
    4. User-Defined Conversions
    5. Data Structures
    6. Iterators
    7. Exceptions