Loading...

Course Description

This course teaches the syntax and constructs of the Standard C++ programming language. The student will learn the syntax of the language, as well as how to code and execute object oriented C++ programs.

Course Outline

1. Course Introduction

  • Course Objectives
  • Course Overview
  • Suggested References

2. 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

3. 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

4. Inheritance

  • Inheritance
  • Bugreport
  • Protected Access Modifier
  • Access and Inheritance
  • Constructors and Inheritance
  • Initialization Lists Revisited 
  • Multiple Inheritance 

5. 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 

6. 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 

7. References and Constants 

  • References 
  • Displaying References 
  • Changing References 
  • Pass by Reference 
  • Returning by Reference 
  • Constant Variables 
  • Constant References 
  • Constant Methods

8. 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 

9. 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 

10. Class Methods and Data 

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

11. Overloaded Functions 

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

12. 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 

13. 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 

14. 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 

15. 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 

Prerequisites

Programming in C or equivalent experience
Loading...

Enroll Now - Select a section to enroll in

Section Title
Programming in C++
Type
Instructor-Led
Days
M, W
Time
5:30PM to 8:30PM
Dates
May 11, 2020 to May 20, 2020
Type
Instructor-Led
Days
W, M
Time
5:30PM to 8:30PM
Dates
May 27, 2020 to Jun 15, 2020
Schedule and Location
# of Course Hours
30.0
Delivery Option
Course Fee(s)
RATE non-credit $2,995.00
Potential Discount(s)