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