Introduction to C++ Programming

 

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!

Leave a Reply