C++ Programming

Course ID

31100

Course Description

This course teaches students how to develop and write programs in the C++ language and covers how to use constructors and destructors, polymorphism, casting in C++, overloaded functions and operators, the Standard Template Library, and exception handling.

Prerequisites

C Programming

Audience

C programmers responsible for the development of advanced applications or systems programs in C++.

Course Content

    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
  • Fill 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
  • Bugreport
  • Protected Access Modifier
  • Access and Inheritance
  • Constructors and Inheritance
  • Initialization Lists Revisited
  • Multiple Inheritance

    Virtual Functions
  • Inheritance and Assignment
  • Inside Report 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
  • Bugfix and Its Relationship with
  • Bugreport
  • Bugfix: Association with Bugreport
  • Using Bugfix with show_rep()
  • Adding Bugfix 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

    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
  • Using 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 Constness
  • Default Arguments
  • Invoking Functions with Default Arguments

    Overloaded Operators
  • The Basics of Overloading
  • Overloading operator+
  • Coping with Commutativity
  • 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
  • Iterators
  • 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 multiset Classes
  • map and multimap Classes

    Reference Sheets
  • Constants, References, and Pointers
  • Input/Output
  • this Pointer
  • The Complete Report/Document
  • Hierarchy

    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

    Sample Problems
  • Banking System
  • Library Card Catalog
  • Diagrams for Banking and Library
  • Problems
  • Object Diagram - Banking
  • Event Trace Diagram - Banking
  • Object Diagram Library
  • Event Trace Diagram - Library

    Other C++ Features
  • Namespaces
  • The static_cast and reinterpret_cast
  • operator
  • The dynamic_cast operator
  • The const_cast operator
  • mutable Data Members
  • The bool Datatype
  • new Operator Failure

For More Information

For training inquiries, call 850-308-1376

or email us at eramos@gbsi.com

Course Details

Duration - 5 days
Price - $2995.00 USD


(Discounts may apply. Call for more information.)

Course Actions

Acceletrain Collaborative Learning Environment (formerly know as VILT) places industry certified and expert instructors, peers, learners and multi-media components into a "borderless classroom", and interactive learning environment that can span multiple physical locations. VILT combines the benefits of the traditional brick-and-mortar classroom with innovative learning techniques and the cost savings of internet-based training.