Develop the ability to design and write programs in the C++ language, emphasizing object-oriented approaches to designing solutions.

Audience: This course is intended for C programmers responsible for the development of advanced applications or systems programs in C++.
Course Duration: 5 days
Prerequisites:

Participants are recommended to have experience in C Programming before taking this class.

Course Outline:
  • Course Introduction
    • Course Objectives
    • Course Overview
    • Suggested References

 

  • Classes
    • Creating a Data Structure
    • Methods
    • Object Scope
    • C++ Input and Output
    • Namespaces
    • Data Abstraction
    • Enforcing
    • Data Encapsulation
    • File Organization
    • Classes in C++
    • Objects
    • This Pointer Constructors and Destructors
    • Debug Output
    • The Default Constructor
    • When are Constructors Called?
    • The Destructor
    • The Copy Constructor
    • Other Constructors
    • Why Did It Work Before?
    • Composition The Report Class
    • Code Reuse
    • Initialization Lists

 

  • Inheritance
    • Inheritance
    • Bug report
    • Protected Access Modifier
    • Access and Inheritance
    • Constructors and Inheritance
    • Initialization Lists Revisited
    • Multiple Inheritance

 

  • Virtual
    • Functions
    • Inheritance and Assignment
    • Inside Report’s Assignment Operator
    • Using Pointers
    • A Quick Look at Basics
    • Class Assignment and Pointers
    • Static Binding
    • Dynamic Binding
    • Polymorphism
    • The show_rep() Function
    • Using the show_rep() Function
    • Designing Member Function Inheritance

 

  • Pure Virtual Functions
    • Bug fix and Its Relationship with Bug report
    • Bug fix: Association with Bug report
    • Using Bug fix with show_rep()
    • Adding Bug fix to the Hierarchy
    • Coding for the Document Class
    • Reexamining the Document Class
    • Pure Virtual Functions
    • Updated: Designing Member Function
    • Inheritance

 

  • References and Constants
    • References
    • Displaying References
    • Changing References
    • Pass by Reference
    • Returning by Reference
    • Constant Variables
    • Constant References
    • Constant Methods
    • C++ Programming
    • ITCourseware, LLC 2
    • C++ Programming Rev 2.1.2

 

  • New and Delete
    • New and delete
    • Array Allocation
    • The Report Class
    • Compiler Version of the Copy
    • Constructor
    • Guidelines for Copy Constructors
    • The Report Constructors and new
    • The Report Destructor and delete
    • Virtual Destructors

 

  • Casting in C++
    • Casting: A Review
    • New Casting Syntax
    • Creating a String Class
    • The String Class
    • The Conversion Constructor
    • Expanding Our Casting Options
    • Casting Operator oUsing the Casting Operator

 

  • Class Methods and Data
    • Class Data
    • Class Methods
    • Using the New Data
    • More on Class Methods

 

  • Overloaded Functions
    • Function Overloading
    • Using Overloaded Functions
    • Rules for Overloading
    • Overloading Based on Const.
    • Default Arguments
    • Invoking Functions with Default
    • Arguments

 

  • Overloaded Operators
    • The Basics of Overloading
    • Overloading operator+
    • Coping with Commutatively
    • Non-Commutative Operators
    • Friends and Their Problems
    • The Assignment Operator
    • Overloading the << Operator
    • Using Date with cout

 

  • Exception Handling
    • Why Exception Handling?
    • Try / catch / throw
    • Exception Classes
    • Standard Exception Hierarchy
    • Multiple Catch Blocks
    • Catching Everything
    • Unhandled Exceptions
    • Exception in Constructors and
    • Destructors
    • Designing for Exceptions

 

  • Standard Template Library
    • Class Template Concepts
    • Standard Template Library (STL)
    • Overview
    • Containers oIterators
    • Iterator Syntax
    • Non-Mutating Sequential Algorithms
    • Mutating Sequential Algorithms
    • Sorting Algorithms
    • Numeric Algorithms
    • Auto_ptr Class
    • String Class

 

  • STL Containers
    • Container Classes
    • Container Class Algorithms
    • Vector Class
    • Additional vector Class Methods
    • Deque Class
    • List Class
    • Set and Multi-Set Classes
    • Map and Multi-Map Classes

 

  • Appendix A
    • Reference Sheets
    • Constants, References, and Pointers
    • Input/output
    • This Pointer
    • The Complete Report/Document
    • Hierarchy

 

  • Appendix B
    • Templates
    • Scenario
    • Designing an Array Class
    • Code for FloatArray
    • Code for IntArray
    • Templates
    • Template Syntax
    • Using Templates
    • Using Classes with Templates
    • Additional Template Features
    • Standard Template Library

 

  • Appendix C
    • Sample Problems
    • Banking System
    • Library Card Catalog