This is a custom 4-day course that is placed on the features of C++ that support effective modeling of the problem domain and reuse of code. The course consists of two modules. In the first module object oriented concepts are introduced. The C++ class construct is introduced and its key features elaborated step-by-step, providing full implementation of abstract data types. C++ memory management is discussed. Function and operator overloading and the use of references are covered. The scope and access control mechanisms of C++ are described. Inheritance is introduced. The use of virtual functions to implement polymorphism is discussed. The second module presents intermediate topics. The ANSI C++ Standard Library is covered, including namespaces, the new header files and basic string class. Templates are covered, including an introduction to the Standard Template Library (STL). There is a chapter on I/O streams, including formatting and file I/O. Practical issues of C++ programming, such as reliability, testing, efficiency and interfacing to C, are discussed. The course introduces newer features of C++ such as exceptions, runtime type information (RTTI), and the new C++ cast syntax. Extensive programming examples and exercises are provided. The course is designed so that it can be taught in any environment with an ANSI C++ compiler.
Audience: Programmers who are moving to object oriented programming in C++.
Prerequisites: Knowledge of a programming language.
Number of Days: 4 days
Course Outline
1. First C++ Programs
- Hello, World
- Program Structure
- Output in C++
- Variables and Expressions
- Calculations Using C++
- Input in C++
2. Data Types and Operators
- Strong Typing
- Integer Data Types
- Floating Point
- Conversions Between Types
- Arithmetic Operators
- Doing Math in C++
3. Logical and Bit Operations
- Bool
- Logical and Relational Operators
- If Tests
- Bitwise Operators
- Shifting and Masking
4. Loops and Structures Programming
- While Loops
- Quitting Infinite Loops
- Curly Braces and Indenting
- Sentinels and Counters
- For Loops
- Loops and If Tests Together
- Nested If Statements
- Structured Programming
5. Functions and Program Structure
- Function Prototypes and Type Checking
- Returning Value and Argument Passing
- Pass-by-Reference
- External Variables
- Block Structure
- Scope
- Header Files
- Preprocessor
6. Pointers and Arrays
- Pointers and Addresses
- Pointers and Function Arguments
- Address Arithmetic
- Pointers and Arrays
- Arrays of Pointers
- Command Line Arguments
- Pointers to Functions
- Strings
7. Structures and Unions
- Structures
- Structures and Functions
- Arrays of Structures
- Unions
8. Concepts of Object Oriented Programming
- Objects
- Information Hiding and Encapsulation
- Abstract Data Types
- Methods and Messages
- Classes
- Class Inheritance
- Polymorphism
9. Classes in C++
- Data Encapsulation in C and C++
- Definition of C++ Classes
- Member Data and Functions
- this Pointer
- Abstract Data Types
- Organizing Code for Classes
10. Functions in C++
- Function Prototypes and Type Checking
- Conversion of Parameters
- Default Arguments
- Inline Functions
- Function Overloading
11. Constructors and Destructors
- Constructors and Initializations
- Object Creation and Destruction
- Destructors
- Multiple Constructors in a Class
- Hidden Constructors
12. Memory Management in C++
- Static, Automatic and Heap Memory
- New and Delete
- Handling Memory Allocation Errors
- Hiding Details of Memory Management in a Class
- Implementing a Dynamic String Class
13. References and Argument Passing in C++
- Call by Value
- Reference Declarations
- Reference Arguments
- Copy Constructor
To Hire a proven C++ Programming Subject Matter Expert Consultant / Course Author and Instructor who teaches this class, call 800-798-3901 today!