C++ Programming – CPP110 – 5 Days
Develop the ability to design and write programs in the C++ language, emphasizing object-oriented approaches to designing solutions.
Course ID: CPP110 Duration: 5 days
Audience: Programmers responsible for the development of advanced applications or systems programs in C++.
Sign-Up for C++ Programming Training
C++ Programming – CPP110 Request a Class Date
Develop the ability to design and write programs in the C++ language, emphasizing object-oriented approaches to designing solutions.
Topics Covered in C++ Programming Course:
- 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
- Bugreport
- 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
- 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 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
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
- Diagrams for Banking and Library Problems
- Object Diagram – Banking
- Event Trace Diagram – Banking
- Object Diagram – Library
- Event Trace Diagram – Library
- 18. Appendix D – 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